- autoCommit ture 或者 false 影响条数都为1
- autoCommit = false 时,数据的确没提交成功!
public static void main(String[] args) {
//执行完检查,数据库没有更新
testAutoCommit(false);
//执行完检查,数据库已经更新
testAutoCommit(true);
}
public static void testAutoCommit(boolean autoCommit){
String dirverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/test";
String user = "root";
String password = "root";
Connection conn = null;
PreparedStatement pst = null;
try {
//加载驱动
Class.forName(dirverName);
//获取连接
conn = DriverManager.getConnection(url, user, password);
//设置connection.autoCommit属性
System.out.println("conn.defaultAutoCommit="+conn.getAutoCommit());
conn.setAutoCommit(autoCommit);
System.out.println("conn.currentAutoCommit="+conn.getAutoCommit());
//预编译sql
pst = conn.prepareStatement("update users set name=? where id=?");
//设置sql参数
pst.setObject(1,"bjw_"+System.currentTimeMillis());
pst.setObject(2, 1L);
//autoCommit 为 ture 或者 false 影响条数都为1
System.out.println("执行成功,影响条数:"+pst.executeUpdate());
} catch (Exception e) {
e.printStackTrace();
}finally{
//释放资源
try {
if (conn != null) {
conn.close();
}
if (pst != null) {
pst.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
//执行完检查,数据库没有更新
testAutoCommit(false);
//执行完检查,数据库已经更新
testAutoCommit(true);
}
public static void testAutoCommit(boolean autoCommit){
String dirverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/test";
String user = "root";
String password = "root";
Connection conn = null;
PreparedStatement pst = null;
try {
//加载驱动
Class.forName(dirverName);
//获取连接
conn = DriverManager.getConnection(url, user, password);
//设置connection.autoCommit属性
System.out.println("conn.defaultAutoCommit="+conn.getAutoCommit());
conn.setAutoCommit(autoCommit);
System.out.println("conn.currentAutoCommit="+conn.getAutoCommit());
//预编译sql
pst = conn.prepareStatement("update users set name=? where id=?");
//设置sql参数
pst.setObject(1,"bjw_"+System.currentTimeMillis());
pst.setObject(2, 1L);
//autoCommit 为 ture 或者 false 影响条数都为1
System.out.println("执行成功,影响条数:"+pst.executeUpdate());
} catch (Exception e) {
e.printStackTrace();
}finally{
//释放资源
try {
if (conn != null) {
conn.close();
}
if (pst != null) {
pst.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}