1.数据库连接池
2.Spring JDBC:JDBC Template
数据库连接池:
概念:其实就是一个容器(集合),存放数据库连接的容器。
当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中取连接对象,用户访问完后,会将连接对象归还容器。
好处:
1.节约资源。
2.用户访问高效。
实现:
1.标准接口:DataSource javax.sql包下的
1.方法:
获取连接:getConnection()
归还链接:如果链接对象Connection是从连接池中获取的。那么调用Connection.close()方法,则不会关闭连接,而是归还连接。
2.一般我们不去实现它,有数据库厂商来实现。
1.C3P0:数据库连接池技术
2.Druid:数据库连接池实现技术,有阿里巴巴提供的。
C3P0的使用步骤:
步骤:
1.导入jar包,导入c3p0.jar和其依赖包 mchange-commons-java-0.2.12.jar
注意:不要忘记数据库的驱动jar包。
2.定义配置文件
3.创建核心对象:数据库连接池对象ComboPooledDataSource
4.获取连接。
Druid:数据库连接池实现技术,由阿里巴巴提供
步骤:
1.导入jar包
2.定义配置文件
是properties形式的
可以叫任意名称,可以放在任意目录下。
3.获取数据库连接池对象:
通过工厂来获取:DruidDataSourceFactory
Properties properties = new Properties();
InputStream resourceAsStream = DruidTest.class.getClassLoader().getResourceAsStream("druid.properties");
properties.load(resourceAsStream);
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
4.获取连接:getConnection()
定义工具栏
1.定义一个类JDBCUtils
提供静态代码块加载配置文件,初始化连接池对象。
2.提供方法
获取连接方法:通过数据库连接池获取链接
释放资源
获取连接池的方法。
Spring JDBC
Spring框架对JDBC的简单封装。
步骤:
1.导入jar包。
2.创建JdbcTemplate对象,依赖于数据源DataSource
JdbcTemplate template = new JdbcTemplate(ds);
3.调用template的方法来完成CRUD的操作。
update();执行DML语句。
queryForMap();查询结果将结果封装为map
queryForList();查询结果将结果封装为list集合
query();查询结果封装为JavaBean对象
queryForObject();将结果封装为对象。