【发布时间】:2019-10-28 05:31:42
【问题描述】:
我开始使用 DBUtils 库,但我的大多数查询都是“在重复密钥更新上插入”,我研究过,但我没有找到有关如何使用 QueryRunner 对象实现它的信息。
有办法吗?
【问题讨论】:
标签: java mysql apache-commons-dbutils
我开始使用 DBUtils 库,但我的大多数查询都是“在重复密钥更新上插入”,我研究过,但我没有找到有关如何使用 QueryRunner 对象实现它的信息。
有办法吗?
【问题讨论】:
标签: java mysql apache-commons-dbutils
不确定问题出在哪里...这里是一个示例,其中您实际上打开了UPSERT,但还使用新日期更新了 audit_date 字段,并使用当前登录用户更新了 audit_user。
new QueryRunner().insert(connection, "INSERT INTO security\n"
+ "(user_name,\n"
+ "domain,\n"
+ "security_permissions,\n"
+ "audit_user)\n"
+ "VALUES\n"
+ "(?,?,?,?)ON DUPLICATE KEY UPDATE security_permissions= values(security_permissions),audit_user = values(audit_user), audit_date=CURRENT_TIMESTAMP;", resultHandler,
securityTableModelRow.getUser_name(),
securityTableModelRow.getDomain(),
securityTableModelRow.getSecurity_permissions(),
Main.security.getCurrentLoggedInUser());
【讨论】: