我正在使用 java JDBI3 在 mariaDB 上执行基本的 CRUD。 我能够成功建立连接。
来自 java 的 select * 查询工作正常。
jdbi.withHandle(handle -> handle.createQuery(
"SELECT * FROM users where email = :email;")
.bind("email", email)
);
同样,当我尝试从中删除时,不会更新数据库
jdbi.withHandle(handle -> {
return handle.createUpdate(
"DELETE FROM users WHERE email = :email;")
.bind("email", email)
.execute();
}
);
我尝试登录 sql shell 并在那里进行删除
DELETE FROM users WHERE email = 'dummy@email.com'
有人可以告诉我我做错了什么吗?
最佳答案
根据其文档,您不应使用“createUpdate”方法: https://jdbi.org/apidocs/org/jdbi/v3/core/Handle.html
Create an Insert or Update statement which returns the number of rows modified.
相反,写
jdbi.withHandle(handle -> {
return handle.execute(
"DELETE FROM users WHERE email = :email",email);
});
关于java jdbi3 withHandle删除不更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57018943/