JDBC中的executeUpdate结果永远是1, 不是影响行数么?
package com.jdbc.study;
import java.sql.*;
public class Demo01 {
//mysql驱动包名
// private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
// 新版本驱动包用法
private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
//数据库连接地址
private static final String URL = "jdbc:mysql:///test";
//用户名
private static final String USER_NAME = "root";
//密码
private static final String PASSWORD = "123456";
public static void main(String[] args) {
Connection connection = null;
try {
// 注册驱动jar包
Class.forName(DRIVER_NAME);
// 获取数据库连接对象
connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
// 定义sql
String sql = "update users set balance=? where id=?";
// 获取执行sql语句的对象
PreparedStatement prst = connection.prepareStatement(sql);
prst.setInt(1, 555);
prst.setInt(2, 1);
// 执行sql, 接收返回结果
Integer count = prst.executeUpdate();
System.out.println(count);
// 资源释放
prst.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
结果是不管运行多少次, 结果都是1
但其实影响行数为0
mysql5.7版本
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论