<Excerpt in index | 首页摘要> 
c3p0自己搞定配置
<The rest of contents | 余下全文>  
概述
帮朋友搞的那个项目,现在想接入数据库连接池,考虑了一下觉得c3p0不错。
然后配置。按照官方教程写了一个c3p0-config.xml
然后发现无论放在那里都不能正常配置。
无奈之下,决定自己搞一个配置文件自己读取算了
PS:
	搞完之后,发现被官方教程坑了。现在不是叫c3p0-config.xml了是叫做c3p0-service.xml
	不过我已经搞定了。就懒得再去重新搞了
具体实现
首先你需要如下的jar包
c3p0-0.9.5.2.jar //c3p0
mchange-commons-java-0.2.11.jar //c3p0
mysql-connector-java-5.1.7-bin.jar //mysql jdbc连接
dom4j-1.6.1.jar //xml解析库
我用的版本是这些,你可以根据自己的需求来下载相应的版本
首先,先看一下xml的配置:
| 12
 3
 4
 5
 6
 7
 
 | <?xml version="1.0" encoding="UTF-8"?><sql-config>
 <classmame>com.mysql.jdbc.Driver</classmame>
 <url>jdbc:mysql:///woc</url>
 <username>root</username>
 <password>123456</password>
 </sql-config>
 
 | 
我这里只设定了最基本的需求,如果需要高度定制根据自己需求走
xml我这里设定的是放在WEB-INF目录下
然后创建JDBCUtils.
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 
 | public class JDBCUtils {public static final ComboPooledDataSource dataSource;
 
 static {
 dataSource = new ComboPooledDataSource();
 try {
 
 SAXReader reader = new SAXReader();
 
 
 String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
 path = path.replace("file:", "");
 path = path.replace("classes/", "");
 path = path.substring(1);
 path += "mysql-connection-pool-config.xml";
 
 
 Document document = reader.read(new File("/" + path));
 Element node = document.getRootElement();
 Iterator<Element> iterator = node.elementIterator();
 
 while (iterator.hasNext()) {
 Element e = iterator.next();
 switch (e.getName()) {
 case "classmame":
 dataSource.setDriverClass(e.getText());
 break;
 case "url":
 dataSource.setJdbcUrl(e.getText());
 break;
 case "username":
 dataSource.setUser(e.getText());
 break;
 case "password":
 dataSource.setPassword(e.getText());
 break;
 }
 }
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 }
 
 | 
就这样吧。蛋疼的c3p0.