KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > javacoding > jspider > core > storage > jdbc > DBUtil


1 package net.javacoding.jspider.core.storage.jdbc;
2
3 import net.javacoding.jspider.core.util.config.PropertySet;
4 import net.javacoding.jspider.core.logging.Log;
5 import net.javacoding.jspider.core.logging.LogFactory;
6
7 import java.net.URL JavaDoc;
8 import java.sql.*;
9 import java.util.Properties JavaDoc;
10
11 /**
12  * $Id: DBUtil.java,v 1.7 2003/04/11 16:37:05 vanrogu Exp $
13  */

14 class DBUtil {
15
16     public static final String JavaDoc DRIVER = "driver";
17     public static final String JavaDoc USER = "user";
18     public static final String JavaDoc PASSWORD = "password";
19     public static final String JavaDoc URL = "url";
20
21     protected Connection connection;
22
23     public DBUtil(PropertySet props) {
24         connection = getConnection(props);
25     }
26
27     public static String JavaDoc format(String JavaDoc string) {
28         return "'" + string + "'";
29     }
30
31     public static String JavaDoc format(boolean bool) {
32         return bool ? "1" : "0";
33     }
34
35     public static String JavaDoc format(int i) {
36         return "" + i;
37     }
38
39     public static String JavaDoc format(URL JavaDoc url) {
40         return format("" + url);
41     }
42
43     public Connection getConnection() {
44         return connection;
45     }
46
47     public Connection getConnection(PropertySet props) {
48         Connection connection = null;
49         Log log = LogFactory.getLog(DBUtil.class);
50         try {
51             String JavaDoc driverClassName = props.getString(DRIVER, "");
52             Class.forName(driverClassName);
53             log.debug("jdbc driver = " + driverClassName);
54             Properties JavaDoc p = new Properties JavaDoc();
55             p.setProperty("user", props.getString(USER, ""));
56             log.debug("jdbc user = " + props.getString(USER, ""));
57             p.setProperty("password", props.getString(PASSWORD, ""));
58             connection = DriverManager.getConnection(props.getString(URL, ""), p);
59         } catch (ClassNotFoundException JavaDoc e) {
60             log.error("JDBC Driver Class Not Found", e);
61             throw new RuntimeException JavaDoc("JDBC Driver Class Not Found");
62         } catch (SQLException e) {
63             log.error("SQL Exception during JDBC Connect", e);
64             throw new RuntimeException JavaDoc("SQL Exception during JDBC Connect");
65         }
66         return connection;
67     }
68
69     public void safeClose(ResultSet rs, Log log) {
70         if (rs != null) {
71             try {
72                 rs.close();
73             } catch (SQLException e) {
74                 log.error("error closing resultset", e);
75             }
76         }
77     }
78
79     public void safeClose(Statement st, Log log) {
80         if (st != null) {
81             try {
82                 st.close();
83             } catch (SQLException e) {
84                 log.error("error closing resultset", e);
85             }
86         }
87     }
88
89 }
Popular Tags