java jdbi3 withHandle删除不更新数据库

时间:2019-07-13 11:56:53

标签: java mysql jdbc mariadb jdbi

我正在使用Java JDBI3对mariaDB执行基本的CRUD。 我能够成功建立连接。

来自Java的select *查询正常工作。

Label

类似地,当我尝试从中删除时不会更新数据库

import turtle
import tkinter as tk

def test(value):
    print("clicked", value)
    label['text'] = str(value)

canvas = turtle.getcanvas()
parent = canvas.master

label = tk.Label(parent, text="???")
canvas.create_window((0, -30), window=label)

for x in range(10):
    text = 'Button {}'.format(x)
    button = tk.Button(parent, text=text, command=(lambda val=x:test(val)))
    canvas.create_window((0, x*30), window=button)

turtle.done()

我试图登录sql shell并在那里建立我可以删除的

jdbi.withHandle(handle -> handle.createQuery(
                "SELECT * FROM users where email = :email;")
                .bind("email", email)

        );

有人可以告诉我我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

您不应根据其文档使用“ createUpdate”方法: https://jdbi.org/apidocs/org/jdbi/v3/core/Handle.html

创建一个Insert或Update语句,该语句返回行数 修改。

相反,写

jdbi.withHandle(handle -> {
                    return handle.execute(
                            "DELETE FROM users WHERE email = :email",email);
                });