java - 轮询字段中的空值时删除

标签 java spring jakarta-ee spring-mvc spring-integration

代码:

<int-jdbc:inbound-channel-adapter
        query="SELECT USER_ID,BOOK_ID FROM BOOK WHERE ROWNUM &lt;= 11"
        channel="index-back-data" data-source="dataSource"
        max-rows-per-poll="10"
        update=" ? "
        row-mapper="DataRowMapper">
    <int:poller fixed-delay="10000" />
</int-jdbc:inbound-channel-adapter>

问题:

在轮询 BOOK 表时,我可能会将 bookid 设为 null,那么如何使用更新属性删除它?

我们可以在更新中使用条件删除吗 :bookId != null ? '从书中删除 USER_ID = :userId AND BOOK_ID = :bookId : 从书中删除 USER_ID = :userId AND BOOK_ID 为 NULL

任何帮助将不胜感激!

最佳答案

我认为,如果您允许图书表中存在主键为空的行,则可能会遇到数据完整性问题。这有点社论,那么:

update="DELETE FROM BOOK WHERE (USER_ID = :userId AND BOOK_ID = :bookId) OR (USER_ID = :userId AND BOOK_ID is null)"

关于java - 轮询字段中的空值时删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972516/

相关文章:

Java 整数/ double 到无符号字节

java - 我可以根据带注释的@WebService 类/接口(interface)自动发现 jaxws :endpoints for beans. xml 吗?

java - EJB测试策略?

java - JSF 1.1 : Conditionally hide raw HTML and tags

java - Richfaces:使用 rich:subtable 的 rich:datatable rowspan

Java 数组从另一个类访问它并用作组合框

java - 由于 SocketException,RabbitMQ 新连接被拒绝

java - Firebase Recyclerview 检索

Spring Cloud Config Eureka-first 方法不起作用

spring - 未找到安装任务