通过JDBC连接数据库有以下4个要素:
(1)驱动器类名:表示要加载和注册的驱动器类。查看com.mysql.jdbc.Driver类源文件可以知道:当一个Driver类被加载时,该类的static代码块就会在类加载时执行,创建一个驱动对象,并通过Driver Manager进行注册。源代码如图11-25所示。
图11-25 com.mysql.jdbc.Driver类源代码
(2)要连接的数据库URL:连接不同类型的数据库有不同的格式,本例是连接MySQL数据库,格式为jdbc:mysql://主机地址:端口号/数据库名。
(3)要连接MySQL数据库的用户名。
(4)要连接MySQL数据库的用户密码。
【例11-1】
通过JDBC连接数据库。
下面通过一个测试用例演示如何通过JDBC连接数据库,获得一个Connection对象。
在项目chapter11的src文件夹下创建一个cn.linaw.chapter11.demo01包,在该包中创建一个Connect DBTest类。代码如图11-26所示。
图11-26 连接数据库测试
(1)程序第7~10行定义连接数据库的4要素。
(2)程序第13行,执行Class.for Name方法时,通过反射机制加载com.mysql.jdbc.Driver类,在static代码块中实例化一个Driver对象并注册。(www.xing528.com)
(3)程序第14行,Driver Manager根据要连接的数据库url、用户名和密码调用getConnection方法获取数据库连接的Connection对象。
(4)程序第20~28行,在finally代码块中释放Connection连接对象资源。
由于对数据库的增、删、改、查等操作都需要事先获取数据库的连接对象,为了提高代码的可重用性,可以定义一个连接数据库的工具类。
【例11-2】
定义一个工具类,根据配置文件连接数据库。
定义一个工具类MyJDBCConnection。源代码如图11-27所示。
图11-27 MyJDBCConnection工具类
(1)程序第15~25行定义了一个带文件路径参数的静态方法getConnection(String filePath),该方法从任意指定路径加载配置文件,并返回一个Connection对象。配置文件中连接数据库的4大参数名称固定为driverClassName、url、username和password,属性值可以修改。
(2)程序第18~19行将指定路径配置文件的InputStream流用转换流装饰,指定字符编码UTF-8,同时继续装饰转换流,增加了缓冲功能。
(3)程序第11~14行定义了一个无参静态方法getConnection(),调用重载的有参静态方法,指定文件为类路径src下的配置文件dbparams.properties。在项目chapter11的src目录下新增dbparams.properties配置文件(编码格式为UTF-8),内容如图11-28所示。
图11-28 dbparams.properties文件
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。