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;
    }