<pre>public class DBUtil {
private final static String driver = "com.mysql.jdbc.Driver";
private final static String url = "jdbc:mysql://localhost:3306/";
private final static String user = "user";
private final static String pass = "pass";
public static Vector<Connection> connectionPool = new Vector<Connection>();
static {
try {
Class.forName(driver);
for (int i = 0; i < 10; i++) {
Connection conn = DriverManager.getConnection(url, user, pass);
connectionPool.add(conn);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = connectionPool.get(0);
connectionPool.remove(0);
return conn;
}
public static void releaseConnection(Connection conn) {
connectionPool.add(conn);
}
public static int update(String sql, Object... p) {
Connection conn = DBUtil.getConnection();
int n = 0;
try {
PreparedStatement ps = conn.prepareStatement(sql);
for (int i = 0; i < p.length; i++) {
ps.setObject(i + 1, p[i]);
}
n = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return n;
}
public static List query(Class c, String sql, Object... p) {
Connection conn = DBUtil.getConnection();
List list = null;
try {
PreparedStatement ps = conn.prepareStatement(sql);
for (int i = 0; i < p.length; i++) {
ps.setObject(i + 1, p[i]);
}
ResultSet rs = ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
list = new ArrayList();
while (rs.next()) {
Object object = c.newInstance();
for (int i = 0; i < count; i++) {
String fieldName = rsmd.getColumnLabel(i + 1);
Field field = c.getDeclaredField(fieldName);
field.setAccessible(true);
field.set(object, rs.getObject(i + 1));
}
list.add(object);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBUtil.releaseConnection(conn);
}
return list;
}
// 聚合查询
public static int uniqueQuery(String sql, Object... p) {
Connection connection = getConnection();
int n = 0;
try {
PreparedStatement ps = connection.prepareStatement(sql);
for (int i = 0; i < p.length; i++) {
ps.setObject(i + 1, p[i]);
}
ResultSet rs = ps.executeQuery();
rs.next();
n = rs.getInt(1);
} catch (SQLException e) {
e.printStackTrace();
} finally {
releaseConnection(connection);
}
return n;
}
}</pre>
代码片段: 数据库连接池-gistfile1.txt
public class DBUtil {
private final static String driver = "com.mysql.jdbc.Driver";
private final static String url = "jdbc:mysql://localhost:3306/";
private final static S...
- 发表于 2018-07-05 13:00
- 阅读 ( 522 )
- 分类:代码片段
你可能感兴趣的文章
- Java 添加条码、二维码到PDF文档 134 浏览
- Java 在Excel中添加筛选器并执行筛选 91 浏览
- JAVA + VUE + 简洁UI:分离式软件平台形成之旅 265 浏览
- Java 设置Word中的表格自适应的3种方式 113 浏览
- LeaRun快速开发平台,.net/java项目开发工具简析 142 浏览
- JVM学习笔记之类装载器-ClassLoader 203 浏览
随机文章
- 使用mybatis-generator-maven-plugin插件自动生成mybatis代码的配置方法 1342 浏览
- HV000030: No validator could be found for constraint 'javax.validation.constraints.Pattern' validating type 'java.lang.Long' 5488 浏览
- spring结合javax validation对参数进行验证,并并捕获异常封装成JSON返回. 3489 浏览
- spring结合javax validation对参数进行手工验证,并并捕获异常封装成JSON返回. 1466 浏览
- Java通过replaceAll来进行正则去除转移符。 1079 浏览
相关问题
- java基础知识提问 1 回答
条评论
请先 登录 后评论
发送私信
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!