204-jdbc如何连接数据库
1.java是如何连接数据库的?
刚开始的时候我们使用的jdbc连接,后来改用mybatis框架、再后来使用SpringBoot整合了mybatis框架、再后来我们就使用mycat进行了主从分离(这个前提是我们收先将数据库设置成主从同步)
2.什么是jdbc?
jdbc是java语言的13中规范之一,使用这种规范可以使java程序连接到数据库服务。使用这种规范可以连接mysql、orcal、sqlServer
jdbc的指定其实就是一种面向接口,java规定了连接数据库的接口,然后由各大服务器厂商进行实现。
使用jdbc实现了java程序(字节码文件)与服务器的交互
3.如何实现jdbc呢?
1.向JVM注册由数据库服务器厂商提供的Driver驱动类
2.在class文件与数据库服务器之间建立一个连接通道:创建Connection的实现类
3.在连接通道上创建一个交通工具:创建Statement的实现类
4.由交通工具沿着当前通道,将Class文件书写的SQL命令推送到指定的数据库服务器上。
数据库服务器自动执行接收的SQL命令,并通过这个交通工具将执行结果推送回发起请求的class文件
5.将本次交易过程中涉及的所有的对象【交通工具,连接通道】进行销毁处理
4.为什么要创建数据库连接池呢?
因为每次创建一个connection太过于耗费时,我们索性创建出来连接之后,就不再关闭。以后获取连接的时候直接从连接池中获取。
但是我们的statemen对象与resultSet对象还是需要关闭的。但是这种关闭就不是我们手动关闭了,而是交给了连接池去关闭。
那我们使用数据库连接池的时候时如何创建statement对象与resulset对象的呢?
我们好像没有使用过啊?
5.jdbc是如何开启的事务
connection.setAutoCommit(false);//开始手动提交事务
try {
//这里的两个ps我们分别添加了不同的sql语句
ps1.executeUpdate();
ps2.executeUpdate();
con.commit(); //提交
} catch (SQLException e) {
e.printStackTrace();
con.rollback(); //rollback;
}