//DriverManage
//1.注册驱动
//2.获取数据库连接
//Connection
//1.获取执行SQL的对象
Statement createStatement();//普通执行sql对象
PrepareStatement prepareStatement(sql);
//预编译sql的执行sql对象:防止sql注入
CallableStatement prepareCall(sql);//执行存储过程的对象
//2.管理事务
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCdemo {
public static void main(String[] args) throws Exception {
//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://127.0.0.1:3306/db1";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url,username,password);
//3.定义sql
String sql1 = "update account set money = 1000 where id = 1";
String sql2 = "update account set money = 1000 where id = 2";
//4.获取执行sql的对象Statement
Statement stmt = conn.createStatement();
try {//开启事务
conn.setAutoCommit(false);
//5.执行sql
int count1 = stmt.executeUpdate(sql1);
//int i = 3/0;
int count2 = stmt.executeUpdate(sql2);
//count为受影响的行数
//6.处理结果
System.out.println("受影响行数:"+(count1+count2));
//提交事务
conn.commit();
} catch (Exception e) {
conn.rollback();//回滚事务
throw new RuntimeException(e);
}
//7.释放资源
stmt.close();
conn.close();
}
}