¿Por qué el valor de retorno de la tabla creada por ejecutar en Mysql es falso?

¿Por qué el valor de retorno es falso después de que la ejecución crea la tabla en la declaración SQL?

Primero observe los problemas encontrados:
ejecute la instrucción sql, cree la tabla y ejecútela sin errores, lo que indica que nuestro código no es un problema, y ​​en la base de datos, la tabla de estudiantes también se ha creado con éxito, lo que muestra además que nuestro código es no hay problema. Pero la salida de la consola es falsa, no verdadera. No
Inserte la descripción de la imagen aquí
sé la razón, así que necesitamos mirar el código fuente de ejecución.
Presione y mantenga presionada la tecla Ctrl, y luego haga clic en ejecutar para
Inserte la descripción de la imagen aquí
ver aquí, encontramos que esto es una excusa y no podemos ver nada.
Por lo tanto, debemos pensar si hay alguna indicación
en su clase de implementación de que estamos presionando Ctrl + H y encontrar su clase de implementación
Inserte la descripción de la imagen aquí
Como resultado, encontramos que todavía no hay explicación aquí, pero aquí, no tenemos pensamientos, y tenemos que ir a su documento de explicación.
Inserte la descripción de la imagen aquí
Podemos encontrar esta oración, que probablemente significa:

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

Aquí está mi código, si quieres probarlo, ¡puedes estudiarlo!

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);
    }

El código de creación de la tabla de cuentas:

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

Supongo que te gusta

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