JDBCUtil工具类的封装
编写JDBCUtil连接池的编写,需要先导入mysql-connector-java-版本号-bin.jar。可以根据自己的需要导入相应版本的jar包。
public class JDBCUtil {
//创建全局静态变量
private static String Driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8";
private static String user = "root"; //数据库用户名
private static String password = "password"; //数据库密码
private static Connection conn = null;
private static PreparedStatement ps = null;
private static ResultSet rs = null;
// 加载驱动,仅且加载一次
static {
try {
Class.forName(Driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 建立连接
public static void getConnection() {
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 进行增删改功能操作
public static int update(String sql, Object[] objects) {
getConnection();
int num = 0;
try {
// 创建sql对象
ps = conn.prepareStatement(sql);
// 数据注入
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
ps.setObject(i + 1, objects[i]);
}
}
// ִ执行sql语句
num = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
close();
}
return num;
}
// 进行查询功能操作
public static ResultSet Query(String sql, Object[] objects) {
getConnection();
try {
//创建sql语句
ps = conn.prepareStatement(sql);
if (objects != null) {
for (int i = 0; i < objects.length; i++) {
ps.setObject(i + 1, objects[i]);
}
}
//执行sql语句
rs = ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//返回一个ResultSet集合
return rs;
}
// 释放资源
public static void close() {
//如果ps、conn、rs不为空,则释放资源
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}