package com.test.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*工具类
* 作用:帮助执行sql语句
* @version 1.0
* @author Nightliar
* */
public class BaseDao {
//定义连接数据的属性
private final String driverName="com.mysql.jdbc.Driver";
private final String url="jdbc:mysql://localhost:3306/dt34db";
private final String username="root";
private final String password="123";
private Connection con=null; //连接对象
private Statement st=null; //预执行对象
private ResultSet rs=null;
/**
* 获取连接对象
* @return
*/
public Connection getCon(){
try {
//加载驱动
Class.forName(this.driverName);
//获取连接对象
this.con=DriverManager.getConnection(url, username,password);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return this.con;
}
/**
* 关闭所有资源的对象
* @param rs 结果集对象 没有就传null
* @param st 执行对象
* @param con 连接对象
*/
public void closeAll(){
try {
if(rs!=null){ rs.close(); rs=null;}
if(st!=null){ st.close(); st=null;}
if(con!=null){ con.close(); con=null;}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 定义方法执行添加修改删除
* @param sql sql语句
* @param params 语句带的参数
* @return 影响行数
*/
public int executeUpdate(String sql,Object []params){
int count=-1;
try {
//获取连接对象
this.getCon();
//获取执行对象
PreparedStatement ps=this.con.prepareStatement(sql);
//执行传参
if(params!=null){
for(int i=0;i<params.length;i++){
ps.setObject(i+1, params[i]);
}
}
//执行
count=ps.executeUpdate();
//关闭资源
this.closeAll();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
/**
* 执行查询语句
* @param sql 查询语句
* @param params 语句带的参数
* @return 返回结果集对象
*/
public ResultSet executeQuery(String sql,Object []params){
try {
//获取连接对象
this.getCon();
//获取执行对象
PreparedStatement ps=con.prepareStatement(sql);
//执行传参
if(params!=null){
for(int i=0;i<params.length;i++){
ps.setObject(i+1, params[i]);
}
}
//执行
rs=ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return this.rs;
}
}
BaseDao
最新推荐文章于 2023-04-15 16:14:49 发布