JDBC(java database connectivity):
SUN公司提供的一套操作数据库的标准规范。(没啥说的,就是php中的PDO,看看知道怎么用就行了)
JDBC操作数据库实例连接池:
数据库连接池负责分配,管理和释放数据库连接。它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能
模拟连接池:
工具类配置
补充说明Class.forName 和 import 的区别:
import是当你要用到java类库或者是其他包里面的类时,需要添加上。“静态的加载方式”当程序执行时,去相应的路径寻找这个类的实现体。( 需要你在写代码时候了解这个类的属性和方法才能使用)
class.forName()会加载类,这是一个“动态的加载方式”!加载类的时候,会初始化一个Class对象(注意不是类的实例)。当你不需要创建任何实例,而需要jvm去做一些事情的时候,使用class.forName()非常有用,这就是为什么数据库的驱动程序都是用这种形式来加载,因为加载驱动程序不需要创建对象实例。”
编写标准的数据源:
编写连接池需要实现javax.sql.DataSource接口。DataSource接口中定义了两个重载的getConnection方法
实现DataSource接口,并实现连接池功能步骤:
在DataSource构造函数中批量创造与数据库的连接,并把创建的连接加入LinkedList对象中。
实现getConnection方法,让getConnection方法每次调用时,从LinkedList中取一个Connection返回给用户
当用户使用完Connection,调用Connection.close()方法时,Connection对象应保证将自己返回到LinkedList中,而不是返回给数据库
网友评论