使用properties配置文件进行数据库连接和使用c3p0连接池进行数据库连接

1、使用properties配置文件进行数据库连接

a、创建properties文件,放入sourcefolder文件夹下面或者在src文件夹下面

里面可以配置信息: drivername, url,  user, pwd;就是分别为classforname中驱动名,connection中的url地址,mysql用户名和密码;

使用getstring(元素名)可以进行取值;

properties文件中使用键值对方式进行存储:

drivername=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/exam

user=root

pwd=sw

注意:properties文件中的字符串不用双引号,里面的文件都是默认双引号;

获取properties时使用ResourceBundle进行连接:

ResourceBundle bundle = ResourceBundle.getBundle("config1");
 String drivername = bundle.getString("drivername");//获取了其中的drivername

这样就可以获取properties文件中的元素;

2、使用c3p0-config.xml文件进行配置

导入jar包c3p0-0.9.1.2.jar和/mchange-commons-java-0.2.11.jar(其它版本可能不需要导入这个jar包)

这个文件一般是已经配置好了的,文件名不允许改变,系统会自动读取其中的配置信息;

文件中:

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
 <default-config>
  <property name="jdbcUrl">jdbc:mysql://localhost:3306/exam</property>
  <property name="driverClass">com.mysql.jdbc.Driver</property>
  <property name="user">root</property>
  <property name="password">sw</property>
  <!-- 数据库连接池连接全部使用后,一次递增量 -->
  <property name="acquireIncrement">3</property>
  <!-- 第一次数据库连接池获取的数据库连接的个数 -->
  <property name="initialPoolSize">10</property>
  <!-- 最低连接个数 -->
  <property name="minPoolSize">2</property>
  <!-- 最多保有连接个数 -->
  <property name="maxPoolSize">10</property>
 </default-config>
 <named-config name="oracle-config">
  <property name="jdbcUrl">jdbc:mysql://localhost:3306/exam</property>
  <property name="driverClass">com.mysql.jdbc.Driver</property>
  <property name="user">root</property>
  <property name="password">root</property>
  <property name="acquireIncrement">3</property>
  <property name="initialPoolSize">10</property>
  <property name="minPoolSize">2</property>
  <property name="maxPoolSize">10</property>
 </named-config>
</c3p0-config>

系统一般读取的是xml中的default配置信息

注意这个文件需要放入sourcefolder文件夹下面或者在src文件夹下面;

使用方法:

DataSource ds=new ComboPooledDataSource();//获取数据库连接池,可以自动读取config,xml中的信息;

ds.getconnection();//获取数据库连接;

3、使用配置文件的好处;

a、如果数据库连接信息需要变动的时候不需要改代码,只需要改配置文件就行;

b、可以方便维护人员和用户进行修改,有良好的用户体验;

c、减少工作量,并不需要进行重新编译代码就可以实现修改;

猜你喜欢

转载自www.cnblogs.com/sw-123/p/9509603.html