jOOQ是一个基于 Java 编写 SQL 的工具包,具有:简单、轻量、函数式编程写 SQL 等独特优势,非常适合敏捷快速迭代开发。也是 Cloudopt Next 推荐的 orm。

    Cloudopt Next 提供了对 jOOQ 的插件,用于方便启动 jOOQ 。您只需要在 Cloudopt Next 的配置文件中配置下 datasource 和jooq即可。

    Cloudopt Next 的 jOOQ 插件默认是使用 HikariCPPool 作为连接池的,如果您需要使用其它连接池,可以参照HikariCPPool进行实现并修改配置。

    在使用前请先自行引用相应的依赖,请自行添加版本号。

    1. <dependency>
    2. <groupId>net.cloudopt.next</groupId>
    3. <artifactId>cloudopt-next-jooq</artifactId>
    4. </dependency>
    1. {
    2. "datasource": {
    3. "jdbcUrl": "jdbc:mysql://127.0.0.1:8889/cloudopt?useUnicode=true&character_set_server=utf8mb4&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",
    4. "username": "root",
    5. "password": "root",
    6. "driverClassName": "com.mysql.cj.jdbc.Driver"
    7. },
    8. "jooq": {
    9. "pool": "net.cloudopt.next.jooq.pool.HikariCPPool",
    10. "database": "mysql"
    11. }
    12. }
    Name Description
    jdbcUrl 数据库连接地址。
    username 数据库用户名。
    password 数据库密码。
    driverClassName 数据库连接驱动名。
    pool 连接池实现类的类名。
    database 使用的数据库名称。具体支持填写的参数见下面的表格。
    Database
    mysql
    cubrid
    derby
    firebird
    mariadb
    postgres
    sqlite

    配置好后在服务器启动前增加插件便会自动创建连接池和初始化Jooq。

    1. fun main(args: Array<String>) {
    2. CloudoptServer.addPlugin(JooqPlugin())
    3. CloudoptServer.run(TestCase::class)
    4. }
    1. fun main(args: Array<String>) {
    2. CloudoptServer.addPlugin(JooqPlugin());
    3. CloudoptServer.run(TestCase.class);
    4. }

    为了方便大家使用,内置了一个简单的分页器,可以体验一下。

    1. JooqPaginate(Jooqer.dsl?.selectFrom(Tables.XXXX)?.where(XXXXXX.KEY.eq(id))!!,20,page).find(XXXXX::class.java)