Tag: jooq

jOOQ不生成源

我试图将jOOQ包含到我的代码中,但是没有生成代码。 执行mvn clean generate-sources ,不会生成任何源。 我希望它创建一个Category类,它在以下schema.sql -file中定义。 CREATE TABLE IF NOT EXISTS category ( id INTEGER IDENTITY PRIMARY KEY, name VARCHAR(100), description VARCHAR(2000), age_group VARCHAR(20), created DATETIME, inserted BIGINT ); 我的pom.xml文件如下所示: 4.0.0 spring-data-jdbc-jooq org.springframework.data.examples spring-data-jdbc-examples 2.0.0.BUILD-SNAPSHOT ../pom.xml Spring Data JDBC – Usage with jOOQ Sample project demonstrating Spring Data JDBC features org.jooq jooq 3.10.8 org.springframework.boot […]

mysql选择,插入和删除java程序的工作,但更新无法正常工作

我有一个主键id表,选择,插入和删除查询所有工作从java程序,但更新查询不工作,以便’插入重复更新’(仅当记录不存在时,当记录存在时,更新不起作用)。 提交的所有查询,我的mariadb版本是10.1.14。 在此先感谢您的帮助! 所有查询在mysql-cli中运行良好。 表模式 +——————+———————-+——+—–+———————+—————————–+ | Field | Type | Null | Key | Default | Extra | +——————+———————-+——+—–+———————+—————————–+ | id | int(10) unsigned | NO | PRI | NULL | | | posng_valid_type | tinyint(3) unsigned | YES | | NULL | | | longitude | double(9,6) | NO | | 0.000000 | […]

用jOOQ找到即将到来的生日

我正在尝试转换查找即将到来的生日的现有查询以使用jOOQ。 我最初的查询 – 使用MySQL,有点简化 – 是 SELECT COUNT(*) FROM people WHERE DATE_ADD(people_dob, INTERVAL YEAR(CURDATE()) – YEAR(people_dob) YEAR) BETWEEN CURDATE() and DATE_ADD( CURDATE(), INTERVAL 7 DAY) 我试图用jOOQ表达它,但失败了。 我尽可能接近 context .selectCount() .from(PEOPLE) .where( PEOPLE_DOB.add(year(currentTimestamp()).minus(year(PEOPLE_DOB))) .between(currentTimestamp()).and(currentTimestamp().add(7))); 不幸的是,这转化为 select count(*) from `people` where date_add(`people`.`people_dob`, interval (extract(year from current_timestamp()) – extract(year from `people`.`people_dob`)) day) between current_timestamp() and date_add(current_timestamp(), interval 7 […]

可以在没有代码生成的情况下使用JOOQ吗?

我正在评估JOOQ用于仍处于开发阶段的新系统。 我希望避免在与应用程序一起开发数据库时生成代码,并且只是为此应用程序扮演持久存储的角色。 因此,数据库模式定义应该由Java代码(java中的表定义)驱动。 JOOQ适合上述用例吗? 是否有用于架构定义的java DSL?

如何使用JOOQ在PostgreSQL中插入带有JSON列的可更新记录?

我跟着答案是否有可能写一个数据类型转换器来处理postgres JSON列? 实现nodeObject转换器。 然后我尝试使用可更新的记录来插入记录,我得到了“org.jooq.exception.SQLDialectNotSupportedException:在方言POSTGRES中不支持类型类org.postgresql.util.PGobject”exception。 我怎么解决这个问题? 以下是我的代码: TableRecord r = create.newRecord(TABLE); ObjectNode node = JsonNodeFactory.instance.objectNode(); r.setValue(TABLE.JSON_FIELD, node, new JsonObjectConverter()); r.store();

jOOQ – 支持JSR310

jOOQ是否支持JSR310与PostgreSQL结合使用? 特别是,我试图使用以下类: java.time.Instant java.time.LocalDate java.time.LocalTime java.time.LocalDateTime 我存储在以下数据类型中(根据http://www.postgresql.org/docs/9.1/static/datatype-datetime.html ): java.time.Instant : timestamp with timezone java.time.LocalDate : date java.time.LocalTime : time without timezone java.time.LocalDateTime : timestamp without timezone 这些数据类型是否正确? jOOQ是否支持java.sql.Timestamp , java.sql.Date和java.sql.Time以及上面的四个类(两个方向)之间的转换?

动态创建JOOQ查询

我需要根据参数集动态创建JOOQ SELECT查询。 我不知道如何动态追加它。 请帮忙 提前致谢。

JOOQ和交易

我一直在阅读有关交易和jooq的内容,但我很难看到如何在实践中实现它。 假设我使用自定义ConnectionProvider提供JOOQ,它恰好使用自动提交设置为false的连接池。 实施大致如下: @Override public Connection acquire() throws DataAccessException { return pool.getConnection(); } @Override public void release(Connection connection) throws DataAccessException { connection.commit(); connection.close(); } 我如何将两个jooq查询包装到单个事务中? 使用DefaultConnectionProvider很容易,因为只有一个连接 – 但是对于一个池我不知道如何去做。

是否在jOOQ和PostgreSQL中优化了数组?

我有一个很大的标识符列表,我想添加到WHERE子句,如下所示: identifier IN (…, …, …, …) 但是,这很慢,因为它必须单独绑定每个值。 请记住,列表很长(几乎1000个值)。 在这种情况下,最好使用: identifier = ANY({…, …, …, …}) 现在,我们只绑定数组一次。 我在jOOQ尝试过这样做: Integer[] values = {…, …, …, …} DSL.any(DSL.array(values)) 生成以下SQL: “identifier” = any (array[?, ?, ?, …]) TRACE | 2017-08-24 10:02:08,914 | JooqLogger.java | 187 | Binding variable 1 : … TRACE | 2017-08-24 10:02:08,947 | JooqLogger.java | […]

jOOQ我可以将两个表的连接提取到相应的POJO中

在jOOQ中如果我想将一行表取出到jOOQ自动生成的POJO中,例如: dsl.selectFrom(USER) .where(USER.U_EMAIL.equal(email)) .fetchOptionalInto(User.class); 现在,假设我想在两个表之间进行连接,例如USER和ROLE ,如何将结果提取到这两个表的POJO中?