配置文件:
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/offcn
user=root
password=000000
JDBC工具类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;
public class JDBCUtilsDemo {
private static String driverClass;
private static String url;
private static String user;
private static String password;
static {
ResourceBundle reb = ResourceBundle.getBundle("jdbc");
driverClass = reb.getString("driverClass");
url = reb.getString("url");
user = reb.getString("user");
password = reb.getString("password");
}
static {
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn,PreparedStatement pre,ResultSet res) {
if(res != null) {
try {
res.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pre != null) {
try {
pre.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
JDBC简易连接池:
import java.sql.Connection;
import java.util.LinkedList;
import java.util.List;
import com.hht.util.JDBCUtilsDemo;
public class JDBCPoolsDemo {
private static List<Connection> pools = new LinkedList<Connection>();
//指定数据库连接池的容量
private static int initSize = 3;
static {
createConn(initSize);
}
/*
* 创建连接对象,存储到连接池
*/
public static void createConn(int initSize) {
for (int i = 0; i < initSize; i++) {
pools.add(JDBCUtilsDemo.getConnection());
}
}
/*
* 从连接池中取出连接对象
*/
public static Connection getConnectionPool() {
if(pools.isEmpty()) {
throw new RuntimeException("连接池资源已耗尽");
}else {
return pools.remove(0);
}
}
/*
* 归还连接池对象
*/
public static void returnConnectionPool(Connection conn) {
if(conn != null) {
pools.add(conn);
}
}
}
**测试类:**这里只做了使用连接池连接数据库的查询操作
//实现查询操作
@Test
public void poolTest3() throws SQLException {
Connection conn1 = JDBCPoolsDemo.getConnectionPool();
String sql = "select * from user";
PreparedStatement pre = conn1.prepareStatement(sql);
ResultSet res = pre.executeQuery();
while(res.next()) {
int id = res.getInt("id");
String user = res.getString("name");
String password = res.getString("password");
System.out.println("id为:"+id+"用户名为:"+user+"密码为:"+password);
}
res.close();
pre.close();
JDBCPoolsDemo.returnConnectionPool(conn1);
}