1 package com.protomatter.util; 2 3 52 53 import java.sql.*; 54 import java.util.*; 55 import com.protomatter.syslog.Syslog; 56 57 60 public class DatabaseUtil 61 { 62 private DatabaseUtil() 64 { 65 super(); 66 } 67 68 75 public static void registerDriver(String driverName) 76 throws Exception 77 { 78 boolean found = false; 79 Enumeration e = DriverManager.getDrivers(); 80 while (e.hasMoreElements() && !found) 81 { 82 Object o = e.nextElement(); 83 if (o.getClass().getName().equals(driverName)) 84 found = true; 85 } 86 87 if (!found) 88 { 89 Driver d = (Driver)Class.forName(driverName).newInstance(); 90 found = false; 91 e = DriverManager.getDrivers(); 92 while (e.hasMoreElements() && !found) 93 { 94 Object o = e.nextElement(); 95 if (o.getClass().getName().equals(driverName)) 96 found = true; 97 } 98 99 if (!found) 100 DriverManager.registerDriver(d); 101 } 102 } 103 104 108 public static boolean close(Connection c) 109 { 110 return close(c, DatabaseUtil.class); 111 } 112 113 119 public static boolean close(Connection c, Object logger) 120 { 121 if (c == null) return true; 122 try 123 { 124 c.close(); 125 return true; 126 } 127 catch (SQLException x) 128 { 129 Syslog.log(logger, x); 130 } 131 return false; 132 } 133 134 138 public static boolean close(Statement s) 139 { 140 return close(s, DatabaseUtil.class); 141 } 142 143 149 public static boolean close(Statement s, Object logger) 150 { 151 if (s == null) return true; 152 try 153 { 154 s.close(); 155 return true; 156 } 157 catch (SQLException x) 158 { 159 Syslog.log(logger, x); 160 } 161 return false; 162 } 163 164 168 public static boolean close(ResultSet r) 169 { 170 return close(r, DatabaseUtil.class); 171 } 172 173 179 public static boolean close(ResultSet r, Object logger) 180 { 181 if (r == null) return true; 182 try 183 { 184 r.close(); 185 return true; 186 } 187 catch (SQLException x) 188 { 189 Syslog.log(logger, x); 190 } 191 return false; 192 } 193 } 194 | Popular Tags |