KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > StandardPoolDataSourceExample


1
2 import org.enhydra.jdbc.pool.StandardPoolDataSource;
3 import org.enhydra.jdbc.standard.StandardConnectionPoolDataSource;
4
5 import java.util.Properties JavaDoc;
6 import java.sql.ResultSet JavaDoc;
7 import java.sql.PreparedStatement JavaDoc;
8 import java.sql.Connection JavaDoc;
9
10 public class StandardPoolDataSourceExample {
11     private static final String JavaDoc SQL_REQUEST = "select id, foo from testdata";
12     private static final String JavaDoc SQL_QUERY = "update testdata set foo = ? where id=1";
13
14     Connection JavaDoc conn;
15     String JavaDoc login = null;
16     String JavaDoc password = null;
17     String JavaDoc url = null;
18     String JavaDoc driver = null;
19
20     public StandardPoolDataSourceExample() throws Exception JavaDoc {
21         Properties JavaDoc prop = new Properties JavaDoc();
22         try {
23             prop.load(ClassLoader.getSystemResourceAsStream("spy.properties"));
24         } catch (Exception JavaDoc e) {
25             System.err.println("problem to load properties.");
26             e.printStackTrace();
27             System.exit(1);
28         }
29
30         login = prop.getProperty("login");
31         password = prop.getProperty("password");
32         url = prop.getProperty("url");
33         driver = prop.getProperty("driver");
34
35         StandardConnectionPoolDataSource connect = new StandardConnectionPoolDataSource();
36
37         connect.setUrl(url);
38         connect.setDriverName(driver);
39         connect.setUser(login);
40         connect.setPassword(password);
41
42         // second, we create the pool of connection with the previous object
43
StandardPoolDataSource spds = new StandardPoolDataSource(connect);
44         spds.setMaxSize(5);
45         spds.setMinSize(2);
46         spds.setUser(login);
47         spds.setPassword(password);
48
49         conn = spds.getConnection(login, password);
50         printTable();
51         conn.close();
52     }
53
54     public void printTable() {
55         try {
56             PreparedStatement JavaDoc pstmt = conn.prepareStatement(SQL_REQUEST);
57             ResultSet JavaDoc rset = pstmt.executeQuery();
58             int numcols = rset.getMetaData().getColumnCount();
59             for (int i = 1; i <= numcols; i++) {
60                 System.out.print("\t" + rset.getMetaData().getColumnName(i));
61             }
62             System.out.println();
63             while (rset.next()) {
64                 for (int i = 1; i <= numcols; i++) {
65                     System.out.print("\t" + rset.getString(i));
66                 }
67                 System.out.println("");
68             }
69         } catch (Exception JavaDoc e) {
70             e.printStackTrace();
71         }
72     }
73
74     public void updateTable(int newValue) {
75         try {
76             PreparedStatement JavaDoc pstmt = conn.prepareStatement(SQL_QUERY);
77             pstmt.setInt(1, newValue);
78             pstmt.executeUpdate();
79         } catch (Exception JavaDoc e) {
80             e.printStackTrace();
81         }
82     }
83
84     static public void main(String JavaDoc [] argv) throws Exception JavaDoc{
85         StandardPoolDataSourceExample spdse = new StandardPoolDataSourceExample();
86         System.exit(1);
87     }
88 }
89
Popular Tags