package org.dao;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
public class BaseDao {
private static Connection con = null;
private static String driver = "";
private static String url = "";
private static String user = "";
private static String pwd = "";
private static PreparedStatement ps = null;
private static ResultSet rs = null;
public static Connection getConnection() throws ClassNotFoundException, SQLException{
Properties pro = new Properties();
try {
pro.load(new FileReader("src\\jdbc.properties"));
} catch (IOException e1) {
e1.printStackTrace();
}
url = pro.getProperty("url");
user = pro.getProperty("username");
pwd = pro.getProperty("password");
driver = pro.getProperty("driver");
Class.forName(driver);
if(con==null){
con = DriverManager.getConnection(url,user,pwd);
}
return con;
}
public static int executeUpdate(String sql,List<Object> prams) throws ClassNotFoundException, SQLException{
int rel = 0;
con = getConnection();
ps = con.prepareStatement(sql);
if(prams!=null){
for (int i = 0; i <prams.size(); i++) {
ps.setObject(i+1, prams.get(i));
}
}
rel = ps.executeUpdate();
return rel;
}
public static ResultSet executeQuery(String sql,List<Object>prams) throws ClassNotFoundException, SQLException{
con = getConnection();
ps = con.prepareStatement(sql);
if(prams!=null){
for (int i = 0; i < prams.size(); i++) {
ps.setObject(i+1, prams.get(i));
}
}
rs = ps.executeQuery();
return rs;
}
public static void closeConnnection(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();
con=null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
try {
System.out.println(getConnection());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用