数据库驱动和数据库连接(MySQL)
一、数据库驱动
什么是数据库驱动?
数据库驱动时数据库厂商提供,主要是在请求以及响应数据库接口服务时,网络数据可以解析为数据库需要的格式并提供数据库对应功能的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连接可以复用,效率更好