文章目录
1. 继承上次的DBUtil的改写BaseDao封装
1.1 针对数据库的executeQuery()的处理
因为返回的都是结果集 ResultSet (封装的思想,提高代码的重复利用率)
准备好传入的参数 一个sql语句 一个对占位符的解析 即Object[] params
/**
* 实现数据的查询 返回的是rs
* @param sql 所要执行的sql 语句
* @param params 占位符操作 限制条件
* @return 操作完毕 结果
*/
public ResultSet executeQuery(String sql,Object[] params){
rs = null;
try {
/**
* 传入sql 语句 编译预处理
*/
pstm = conn.prepareStatement(sql);
/**
* 处理占位符操作
*/
if(params!=null){
for(int i=0;i<params.length;i++){
pstm.setObject((i+1),params[i]);
}
}
rs = pstm.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
1.2 针对数据库的executeUpdate()的处理
数据操作 返回的都是 被影响的数据 有几条 包括 更新 删除 新增等
准备好传入的参数 一个sql语句 一个对占位符的解析 即Object[] params
/**
* 实现数据的增加 修改 删除 操作
* @param sql 执行的 sql语句
* @param params 传入占位符
* @return
*/
public int executeUpdate(String sql,Object[] params){
int num = 0;
try{
pstm = conn.prepareStatement(sql);
/**
* 处理传入的占位符? params setObject()方法
*/
if(params!=null){
for (int i = 0; i < params.length; i++) {
pstm.setObject((i+1),params[i]);
}
}
num = pstm.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}
return num;
}