DBUtils QueryRunner在重复键更新上插入

时间:2019-06-13 15:12:15

标签: java mysql apache-commons-dbutils

我开始使用DBUtils库,但是我的大多数查询都是“在重复键更新中插入”,但是没有找到有关如何使用QueryRunner对象实现该信息。

有办法吗?

1 个答案:

答案 0 :(得分:0)

不知道问题出在哪里……这是一个示例,实际上,您在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());