Por que o valor de retorno da tabela criada por execute em Mysql é falso?

Por que o valor de retorno é falso após executar cria a tabela na instrução SQL?

Primeiro, olhe para os problemas encontrados:
execute a instrução sql, crie a tabela e execute sem erros, indicando que nosso código não é problema, e no banco de dados, a tabela do aluno também foi criada com sucesso, o que mostra ainda que nosso código é não há problema. Mas a saída do console é falsa, não é verdade.
Insira a descrição da imagem aqui
Não sei o motivo, então precisamos olhar o código-fonte de execução.
Pressione e segure Ctrl e clique em executar para
Insira a descrição da imagem aqui
ver aqui, descobrimos que isso é uma desculpa e não podemos ver nada.
Portanto, devemos pensar se há alguma indicação
em sua classe de implementação de que estamos pressionando Ctrl + H e encontrar sua classe de implementação
Insira a descrição da imagem aqui
Como resultado, descobrimos que ainda não há explicação aqui, mas aqui, não temos nenhuma ideia e temos que ir para seu documento de explicação.
Insira a descrição da imagem aqui
Podemos encontrar esta frase, que provavelmente significa:

 execute 方法返回一个 boolean 值,并没有返回结果,所以返回的是false,如果返回有结果则输出true。再联系我们创建表,我们只是在数据库中完成了表的创建,没有返回结果,所以为false。
 到这里我们也终于搞懂了,着实有点不容易呀!

Aqui está meu código, se você quiser experimentar, pode estudá-lo!

private Connection con;
    @Before //每次单元测试之前都会执行
    public void init() throws Exception {
    
    
        //2,注册驱动  Driver
        Class.forName("com.mysql.cj.jdbc.Driver");
        //3,DriverManager 获取连接数据库对象
        String url="jdbc:mysql://localhost:3306/long ?useSSL=false&serverTimezone=UTC";
        con = DriverManager.getConnection(url, "root", "123456");
    }
    @Test   // dml--新增
    public void test01() throws SQLException {
    
    
        //1,定义sql
        String sql="insert into account values(NULL,'关羽',1000)";
        //2,获取执行sql的对象,Statement
        Statement statement = con.createStatement();
        //3,执行sql,并返回表格影响的行数
        int i = statement.executeUpdate(sql);
        System.out.println(i);
    }

    @Test   // ddl--创建表
    public void test02() throws SQLException {
    
    
        //1,定义sql
        String sql="CREATE TABLE student(id INT,NAME VARCHAR(20));";
        //2,获取执行sql的对象,Statement
        Statement statement = con.createStatement();
        //3,执行sql,并返回表格影响的行数
        boolean i = statement.execute(sql);
        System.out.println(i);
    }

O código de criação da tabela de contas:

-- 创建账户表
CREATE TABLE account(
	id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(20),
    balance DOUBLE 
);
INSERT INTO account VALUES (NULL,'曹操',1000), (NULL,'刘备',1000);

Acho que você gosta

Origin blog.csdn.net/weixin_44889894/article/details/112321603
Recomendado
Clasificación