import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/*
* 工具类
* 占位符下标从1开始
*/
public class DBUtil {
private static String URL="jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai";
private static String USER="**";
private static String PASSWORD="**";
private static Connection conn=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
static{
try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn=DriverManager.getConnection(URL,USER,PASSWORD);
}catch(SQLException e){
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 增删改
* @param sql 需要执行的sql语句
* @param objs 封装了数据的数组,需要和sql语句中的占位符一一对应
* @return sql执行成功返回受影响的行数,反之返回0
*
*/
public int update(String sql,Object[] objs){ //无限个值
//占位符的个数要和数组中数据的个数保持一致
int a=0; //默认增删改是失败的
try{
ps=conn.prepareStatement(sql);
for(int i=0;i<objs.length;i++){
ps.setObject(i+1, objs[i]);
}
a=ps.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}
return a;
}
//查询
/*
* @param sql 需要执行的sql语句
* @param objs 封装了数据的数组,需要和sql语句中的占位符一一对应
* @return 封装数据的结果集,失败返回null
*/
public ResultSet query(String sql,Object[] objs){
try {
ps=conn.prepareStatement(sql);
//给占位符赋值
for(int i=0;i<objs.length;i++ ){
ps.setObject(i+1, objs[i]);
}
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
//释放资源
public void close(){
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();
}
}
}
``
使用方法:打开要实现本工具类的工程,直接创建一个包 导入即可使用
持续更新一起加油
小白上手可用:eclipse-连接Mysql实现增删查工具类
最新推荐文章于 2022-05-16 15:56:40 发布
本文介绍了一个用于Java项目的数据库操作工具类,包含连接数据库、执行SQL语句进行增删改查操作的方法,并提供了资源释放功能。
871

被折叠的 条评论
为什么被折叠?



