jdbc-2

JDBC的本质
就是JAVA访问mysql数据库的一个API。

JDBC进行CRUD
JDBC连接的步骤
// 有两种方式加载驱动
// Driver driver = new com.mysql.cj.jdbc.Driver();

    Class.forName("com.mysql.cj.jdbc.Driver");

// 1.加载驱动
// DriverManager.registerDriver(driver);

    String url = "jdbc:mysql://localhost:3306/mytest?serverTimezone=GMT%2B8&useSSL=FALSE&characterEncoding=utf-8";
    String user = "root";
    String password = "12345";

// 2.创建连接
Connection connection = DriverManager.getConnection(url, user, password);
// 3.创建SQL命令发送器
Statement statement = connection.createStatement();

    String sql = "insert into dept values(50,'教学部','北京')";

// 4.发送SQL命令得到结果
int rows = statement.executeUpdate(sql);

    System.out.println("影响到的行数是" + rows);

// 5.关闭资源
statement.close();
connection.close();
JDBC普通的增删改查
修改:包括增删改
int rows = statement.executeUpdate(sql);
查询
String sql="select * from emp";
resultSet = statement.executeQuery(sql);
resultSet获取结果,直接是获取数据类型和列名
String sql="select * from emp";
resultSet = statement.executeQuery(sql);
while(resultSet.next()){
int empno = resultSet.getInt("empno");
String ename = resultSet.getString("ename");
String job = resultSet.getString("job");
int mgr = resultSet.getInt("mgr");
Date hiredate = resultSet.getDate("hiredate");
double sal= resultSet.getDouble("sal");
double comm= resultSet.getDouble("comm");
int deptno= resultSet.getInt("deptno");
System.out.println(""+empno+" "+ename+" "+job+" "+mgr+" "+hiredate+" "+sal+" "+comm+" "+deptno);
}
JDBC预编译语句
修改:包括增删改 int rows =preparedStatement.executeUpdate()
查询 preparedStatement.executeQuery();
批处理
添加到批次
执行批次
清空批次
preparedStatement.addBatch()
preparedStatement.executeBatch();
preparedStatement.clearBatch();
执行的结果提示
SUCCESS_NO_INFO -2
EXECUTE_FAILED -3
事务和回滚点
JDBC默认是自动提交事务,需要关闭自动提交
Connection对象控制connection.setAutoCommit(false);
在最后,需要设置提交事务,connection.commit()
回滚点的设置
我回滚点的执行
设置回滚点:connection.setSavepoint();
启动回滚点:connection.rollback(savepoint);

JDBC的优化
数据库连接池的使用
解决的问题:connection的反复使用,消耗系统资源
LinkedList集合
properties的配置文件的使用
Properties properties = new Properties();
InputStream inputStream = TestProperties.class.getResourceAsStream("/src/jdbc.properties");
properties.load(inputStream);
String username = properties.getProperty("username");

posted @ 2022-04-06 22:40  孙立人bc  阅读(31)  评论(0)    收藏  举报