/**
* 仿Spring的Jdbctemplate
* 可实现增删改查
*/
public class JdbcTemplate{
private ResultSet rs = null;
private PreparedStatement ps = null;
private DBCPUtil pools = new DBCPUtil();
private Connection conn = null;
/**
* 查询单个
* @param sql
* @param mapper
* @param params
* @param <T>
* @return
*/
public <T> T selectByObject(String sql, Mapper<T> mapper,Object...params){
T t = null;
try{
conn=pools.getConn();
ps=conn.prepareStatement(sql);
if(params!=null){
for(int i=0;i<params.length;i++){
ps.setObject(i+1,params[i]);
}
}
rs=ps.executeQuery();
while(rs.next()){
t= mapper.MapperRow(rs);
}
}
catch (SQLException e){
e.printStackTrace();
}
finally {
}
return t;
}
/**
* 查询多个
* @param sql
* @param mapper
* @param obj
* @param <T>
* @return
*/
public <T> List<T> selectList(String sql,Mapper<T> mapper,Object...obj){
List<T> list = null;
try{
conn=pools.getConn();
ps=conn.prepareStatement(sql);
if(obj!=null){
for(int i=0;i<obj.length;i++){
ps.setObject(i+1,obj[i]);
}
}
rs=ps.executeQuery();
if(rs!=null){
list = new ArrayList<>();
while(rs.next()){
list.add(mapper.MapperRow(rs));
}
}
}
catch (SQLException e){
e.printStackTrace();
}
finally {
}
return list;
}
/**
* 通用修改
* @param sql
* @param obj
* @return
*/
public boolean updateForObject(String sql,Object...obj){
boolean flag = false;
try{
conn=pools.getConn();
ps=conn.prepareStatement(sql);
if(obj!=null){
for(int i=0;i<obj.length;i++){
ps.setObject(i+1,obj[i]);
}
}
int rows = ps.executeUpdate();
if(rows>0){
flag = true;
}
}
catch (SQLException e){
e.printStackTrace();
}
finally {
}
return flag;
}
}
支持简单的CRUD操作