2008-04-12

Spring+iBatis写的公共DAO备忘

关键字: dao

最近项目中使用Spring+iBatis,其中用到的公共dao记录在此 

/**
* 数据库Dao必须继承的接口,该接口定义了DaoTemplate的Set和Get方法
* 其他dao继承IBaseDao后自动获得CRUD等功能
*/
public interface IBaseDao {
public void setDaoTemplate(IBatisDaoTemplate template);
public IBatisDaoTemplate getDaoTemplate();
/**
* 更新数据
* @param statementName
* @param paramMap
*/
public int update(String statementName,Map paramMap);
/**
* 添加数据
* @param statementName
* @param paramMap
* @return
*/
public Object save(String statementName,Map paramMap);
/**
* 根据条件查询一条数据
* @param statementName
* @param paramMap
* @return
*/
public Object load(String statementName,Map paramMap);
/**
* 根据条件查询数据
* @param statementName
* @param paramMap
* @return
*/
public List searchAll(String statementName,Map paramMap);
/**
* 根据条件分页查询数据
* @param statementName
* @param paramMap
* @param pageNum
* @param recoderNum
* @return
*/
public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum);
/**
* 删除符合条件的记录
* @param statementName
* @param paramMap
* @return
*/
public int delete(String statementName,Map paramMap);
}
 
/** 
* IBaseDao的实现
*
*/
public class BaseDaoImpl implements IBaseDao {
private IBatisDaoTemplate template;
public IBatisDaoTemplate getDaoTemplate() {
return this.template;
}
public void setDaoTemplate(IBatisDaoTemplate template) {
this.template=template;
}
/**
* 更新数据
* @param statementName
* @param paramMap
*/
public int update(String statementName,Map paramMap){
return this.template.update(statementName, paramMap);
}
/**
* 添加数据
* @param statementName
* @param paramMap
* @return
*/
public Object save(String statementName,Map paramMap){
return this.template.save(statementName, paramMap);
}
/**
* 根据条件查询一条数据
* @param statementName
* @param paramMap
* @return
*/
public Object load(String statementName,Map paramMap){
return this.template.load(statementName, paramMap);
}
/**
* 根据条件查询数据
* @param statementName
* @param paramMap
* @return
*/
public List searchAll(String statementName,Map paramMap){
return this.template.searchAll(statementName, paramMap);
}
/**
* 根据条件分页查询数据
* @param statementName
* @param paramMap
* @param pageNum
* @param recoderNum
* @return
*/
public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum){
return this.template.searchPage(statementName, paramMap, pageNum,recoderNum);
}
/**
* 删除符合条件的记录
* @param statementName
* @param paramMap
* @return
*/
public int delete(String statementName,Map paramMap){
return this.template.delete(statementName, paramMap);
}
}
 
/**
* 利用IBatis操作数据库实现的模版类,Dao通过注入进行调用
*
*/
public class IBatisDaoTemplate extends SqlMapClientDaoSupport {
/**
* 更新数据
* @param statementName
* @param paramMap
*/
public int update(String statementName,Map paramMap){
return this.getSqlMapClientTemplate().update(statementName, paramMap);
}
/**
* 添加数据
* @param statementName
* @param paramMap
* @return
*/
public Object save(String statementName,Map paramMap){
return getSqlMapClientTemplate().insert(statementName, paramMap);
}
/**
* 根据条件查询一条数据
* @param statementName
* @param paramMap
* @return
*/
public Object load(String statementName,Map paramMap){
return getSqlMapClientTemplate().queryForObject(statementName, paramMap);
}
/**
* 根据条件查询数据
* @param statementName
* @param paramMap
* @return
*/
public List searchAll(String statementName,Map paramMap){
return this.getSqlMapClientTemplate().queryForList(statementName, paramMap);
}
/**
* 根据条件分页查询数据
* @param statementName
* @param paramMap
* @param pageNum
* @param recoderNum
* @return
*/
public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum){
return this.getSqlMapClientTemplate().queryForList(statementName, pageNum, pageNum*recoderNum,(pageNum+1)*recoderNum);
}
/**
* 删除符合条件的记录
* @param statementName
* @param paramMap
* @return
*/
public int delete(String statementName,Map paramMap){
return this.getSqlMapClientTemplate().delete(statementName, paramMap);
}
}
 
评论
发表评论

您还没有登录,请登录后发表评论

blank
搜索本博客
我的相册
5c2c51d9-1a15-3713-8084-e1742c808801-thumb
P1080256
共 30 张
存档
最新评论