DBUtil是一个多数据库的配置模式,主要方式之一是通过xml来加载数据。其中对c3p0的连接池进行封装。
配置xml:
<Resource jndi="jdbc/Default" driverClass="com.mysql.jdbc.Driver"
dbUserName="root" dbPassWord="root"
jdbcUrl="jdbc:mysql://127.0.0.1:3306/nms4?useUnicode=true&characterEncoding=utf-8"
initSize="2" minPoolSize="1" maxPoolSize="10" maxStatements="50"
maxIdleTime="60" />
jndi:是数据库的连接的id,用来标识唯一的连接器
driverClass:数据库驱动class
dbUserName/dbPassWord:帐户/密码
jdbcUrl:jdbcurl
initSize/minPoolSize/maxPoolSiz/maxStatements/maxIdleTime:连接池的特性
先写把数据库xml建立,然后用DButil加载数据库连接的配置信息:
DBUtil.getInstance().init("E:\\workspace\\JavaFramework2.5\\src\\com\\shine\\DBUtil\\config\\dbXml.xml");
加载了xml后,就可以查询,查询是要你操作的jndi和sql语句:
DBModel dbModel = DBUtil.getInstance().executeQuery("jdbc/test","select * from test1");
查询的结果会放在一个DBModel的对象中,这个对象是一个Arraylist的对象,每一行的数据使用一个map来存放。
如果我们需要获取第一行的test列的数据库中的值:
dbModel.next();
String s=dbModel.get(0).getString("test");
输出DBModel的xml数据,如果继续要加载下一页就继续执行多一次next的方法:
dbModel.next(10);
System.out.println(dbModel.getDataXml());
xml输出结果:
<?xml version="1.0" encoding="UTF-8"?>
<nodes>
<node>
<key label="test">502</key>
</node>
<node>
<key label="test">503</key>
</node>
<node>
<key label="test">504</key>
</node>
<node>
<key label="test">505</key>
</node>
<node>
<key label="test">506</key>
</node>
<node>
<key label="test">507</key>
</node>
<node>
<key label="test">508</key>
</node>
<node>
<key label="test">509</key>
</node>
<node>
<key label="test">510</key>
</node>
<node>
<key label="test">511</key>
</node>
<node>
<key label="test">512</key>
</node>
</nodes>
在用完查询后,记得关闭连接
dbModel.close();