数据库驱动和数据库连接(MySQL)

    • 一、数据库驱动
      • 什么是数据库驱动?
    • 二、数据库连接
      • jdbc连接的方式以及区别
        • 1)通过DriverManager(驱动管理类)的静态方法获取
        • 2)通过DataSource(数据源)对象获取
        • 3)两种创建连接的区别

一、数据库驱动

什么是数据库驱动?

数据库驱动时数据库厂商提供,主要是在请求以及响应数据库接口服务时,网络数据可以解析为数据库需要的格式并提供数据库对应功能的API。

数据库驱动:就是具体的数据库厂商提供的数据库服务的连接工具。我们需要把数据包装成数据库需要的数据格式,或者获取到的数据库数据我们需要解析,那么就需要到这个数据库驱动程序。

二、数据库连接

数据库连接:相当于有了数据库驱动就可以连接到数据库,然后就可以执行sql。类似于建立TCP长连接我们就可以基于这个连接进行发送和解析数据。

jdbc连接的方式以及区别

Connection接口实现类由数据库提供,在创建数据库连接的时候也有两种方式:

1)通过DriverManager(驱动管理类)的静态方法获取

下面展示 获取链接代码片

// 加载JDBC数据库驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection(url);

2)通过DataSource(数据源)对象获取

实际应用中会使用DataSource对象!!!

// 获取数据源
DataSource ds = new MysqlDataSource();
//设置url
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
//建立连接
Connection connection = ds.getConnection();

3)两种创建连接的区别

  • DriverManager方式 :每次都是创建新的物理连接,调用connection.close()来关闭物理连接,相当于建立TCP短链接,调用close()方法就可以关闭。
    结果:connection连接无法被复用,效率比较低

  • DataSource的方式:初始化创建一定数量的连接,之后都是在连接池中获取connection,调用connection.close()不是关闭物理连接,只是重置connection对象,并放回连接池。
    结果:connection连接可以复用,效率更好

更多推荐

数据库驱动和数据库连接(MySQL)