数据库连接池的好处是不言而喻的,现在大部分的application server都提供自己的数据库连接池方案,此时,只要按照application server的文档说明,正确配置,即可在应用中享受到数据库连接池的好处。
1。首先,下载必须的jar包
dbcp包,目前版本是1.2.1:http://jakarta.apache.org/commons/dbcp/ ],在附件已有
pool包,目前版本是1.3:http://jakarta.apache.org/commons/pool/,在附件已有
在建立我们自己的数据库连接池时,可以使用xml文件来传入需要的参数,这里只使用hard code的方式来简单介绍,所有需要我们自己写的代码很少,只要建立一个文件如下:
Java代码
1. import org.apache.commons.dbcp.BasicDataSource;
2. import org.apache.commons.dbcp.BasicDataSourceFactory;
3.
4. import java.sql.SQLException;
5. import java.sql.Connection;
6. import java.util.Properties;
7.
8. public class ConnectionSource {
9. private static BasicDataSource dataSource = null;
10.
11. public ConnectionSource() {
12. }
13.
14. public static void init() {
15.
16. if (dataSource != null) {
17. try {
18. dataSource.close();
19. catch (Exception e) {
20. //
21. }
22. null;
23. }
24.
25. try {
26. new Properties();
27. "driverClassName", "oracle.jdbc.driver.OracleDriver");
28. "url", "jdbc:oracle:thin:@192.168.0.1:1521:testDB");
29. "password", "scott");
30. "username", "tiger");
31. "maxActive", "30");
32. "maxIdle", "10");
33. "maxWait", "1000");
34. "removeAbandoned", "false");
35. "removeAbandonedTimeout", "120");
36. "testOnBorrow", "true");
37. "logAbandoned", "true");
38.
39. dataSource = (BasicDataSource) BasicDataSourceFactory.createDataSource(p);
40.
41. catch (Exception e) {
42. //
43. }
44. }
45.
46.
47. public static synchronized Connection getConnection() throws SQLException {
48. if (dataSource == null) {
49. init();
50. }
51. null;
52. if (dataSource != null) {
53. conn = dataSource.getConnection();
54. }
55. return conn;
56. }
57. }