1. [代码]IResultSetCall.java
import java.sql.ResultSet;
import java.sql.SQLException;
public interface IResultSetCall {
public T invoke(ResultSet rs) throws SQLException;
}
2. [代码]DBUtil.java
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import oracle.jdbc.OracleTypes;
import util.db.test.DBUtilTest;
/**
*
* DBUtil,数据库访问工具类
* 对应测试类: {@link DBUtilTest}
* @preserve all
*/
public class DBUtil {
private static Connection con = null;
public static Connection openConnection() throws SQLException, ClassNotFoundException, IOException {
if (null == con || con.isClosed()) {
Properties p = new Properties();
p.load(DBUtil.class.getResourceAsStream("/config-db.properties"));
Class.forName(p.getProperty("db_driver"));
con = DriverManager.getConnection(p.getProperty("db_url"), p.getProperty("db_username"),
p.getProperty("db_password"));
}
return con;
}
public static void closeConnection() throws SQLException {
try {
if (null != con)
con.close();
} finally {
con = null;
System.gc();
}
}
public static List