`
creek
  • 浏览: 14130 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Spring+iBatis写的公共DAO备忘

    博客分类:
  • java
阅读更多
转自:http://chat.iteye.com/blog/182184

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

   1. /**<br>
   2.  * 数据库Dao必须继承的接口,该接口定义了DaoTemplate的Set和Get方法<br>
   3.  * 其他dao继承IBaseDao后自动获得CRUD等功能 <br>
   4.  */<br> 
   5. public interface IBaseDao {<br> 
   6.     public void setDaoTemplate(IBatisDaoTemplate template);<br> 
   7.     public IBatisDaoTemplate getDaoTemplate();<br> 
   8.     /**<br>
   9.      * 更新数据<br>
  10.      * @param statementName<br>
  11.      * @param paramMap<br>
  12.      */<br> 
  13.     public int update(String statementName,Map paramMap);<br> 
  14.     /**<br>
  15.      * 添加数据<br>
  16.      * @param statementName<br>
  17.      * @param paramMap<br>
  18.      * @return<br>
  19.      */<br> 
  20.     public Object save(String statementName,Map paramMap);<br> 
  21.     /**<br>
  22.      * 根据条件查询一条数据<br>
  23.      * @param statementName<br>
  24.      * @param paramMap<br>
  25.      * @return<br>
  26.      */<br> 
  27.     public Object load(String statementName,Map paramMap);<br> 
  28.     /**<br>
  29.      * 根据条件查询数据<br>
  30.      * @param statementName<br>
  31.      * @param paramMap<br>
  32.      * @return<br>
  33.      */<br> 
  34.     public List searchAll(String statementName,Map paramMap);<br> 
  35.     /**<br>
  36.      * 根据条件分页查询数据<br>
  37.      * @param statementName<br>
  38.      * @param paramMap<br>
  39.      * @param pageNum<br>
  40.      * @param recoderNum<br>
  41.      * @return<br>
  42.      */<br> 
  43.     public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum);<br> 
  44.     /**<br>
  45.      * 删除符合条件的记录<br>
  46.      * @param statementName<br>
  47.      * @param paramMap<br>
  48.      * @return<br>
  49.      */<br> 
  50.     public int delete(String statementName,Map paramMap);<br> 
  51. } 

/**

* 数据库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);

}


Java代码

   1. /** <br>
   2.  * IBaseDao的实现 <br>
   3.  * <br>
   4.  */  <br> 
   5. public class BaseDaoImpl implements IBaseDao {<br> 
   6.     private IBatisDaoTemplate template;<br> 
   7.     public IBatisDaoTemplate getDaoTemplate() {<br> 
   8.         return this.template;<br> 
   9.     }<br> 
  10.     public void setDaoTemplate(IBatisDaoTemplate template) {<br> 
  11.         this.template=template;<br> 
  12.     }<br> 
  13.     /**<br>
  14.      * 更新数据<br>
  15.      * @param statementName<br>
  16.      * @param paramMap<br>
  17.      */<br> 
  18.     public int update(String statementName,Map paramMap){<br> 
  19.         return this.template.update(statementName, paramMap);<br> 
  20.     }<br> 
  21.     /**<br>
  22.      * 添加数据<br>
  23.      * @param statementName<br>
  24.      * @param paramMap<br>
  25.      * @return<br>
  26.      */<br> 
  27.     public Object save(String statementName,Map paramMap){<br> 
  28.         return this.template.save(statementName, paramMap);<br> 
  29.     }<br> 
  30.     /**<br>
  31.      * 根据条件查询一条数据<br>
  32.      * @param statementName<br>
  33.      * @param paramMap<br>
  34.      * @return<br>
  35.      */<br> 
  36.     public Object load(String statementName,Map paramMap){<br> 
  37.         return this.template.load(statementName, paramMap);<br> 
  38.     }<br> 
  39.     /**<br>
  40.      * 根据条件查询数据<br>
  41.      * @param statementName<br>
  42.      * @param paramMap<br>
  43.      * @return<br>
  44.      */<br> 
  45.     public List searchAll(String statementName,Map paramMap){<br> 
  46.         return this.template.searchAll(statementName, paramMap);<br> 
  47.     }<br> 
  48.     /**<br>
  49.      * 根据条件分页查询数据<br>
  50.      * @param statementName<br>
  51.      * @param paramMap<br>
  52.      * @param pageNum<br>
  53.      * @param recoderNum<br>
  54.      * @return<br>
  55.      */<br> 
  56.     public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum){<br> 
  57.         return this.template.searchPage(statementName, paramMap, pageNum,recoderNum);<br> 
  58.     }<br> 
  59.     /**<br>
  60.      * 删除符合条件的记录<br>
  61.      * @param statementName<br>
  62.      * @param paramMap<br>
  63.      * @return<br>
  64.      */<br> 
  65.     public int delete(String statementName,Map paramMap){<br> 
  66.         return this.template.delete(statementName, paramMap);<br> 
  67.     }<br> 
  68. } 

/**

* 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);

}

}


Java代码

   1. /**<br>
   2.  * 利用IBatis操作数据库实现的模版类,Dao通过注入进行调用<br>
   3.  *<br>
   4.  */<br> 
   5. public class IBatisDaoTemplate extends SqlMapClientDaoSupport {<br> 
   6.     /**<br>
   7.      * 更新数据<br>
   8.      * @param statementName<br>
   9.      * @param paramMap<br>
  10.      */<br> 
  11.     public int update(String statementName,Map paramMap){<br> 
  12.         return this.getSqlMapClientTemplate().update(statementName, paramMap);<br> 
  13.     }<br> 
  14.     /**<br>
  15.      * 添加数据<br>
  16.      * @param statementName<br>
  17.      * @param paramMap<br>
  18.      * @return<br>
  19.      */<br> 
  20.     public Object save(String statementName,Map paramMap){<br> 
  21.         return getSqlMapClientTemplate().insert(statementName, paramMap);<br> 
  22.     }<br> 
  23.     /**<br>
  24.      * 根据条件查询一条数据<br>
  25.      * @param statementName<br>
  26.      * @param paramMap<br>
  27.      * @return<br>
  28.      */<br> 
  29.     public Object load(String statementName,Map paramMap){<br> 
  30.         return getSqlMapClientTemplate().queryForObject(statementName, paramMap);<br> 
  31.     }<br> 
  32.     /**<br>
  33.      * 根据条件查询数据<br>
  34.      * @param statementName<br>
  35.      * @param paramMap<br>
  36.      * @return<br>
  37.      */<br> 
  38.     public List searchAll(String statementName,Map paramMap){<br> 
  39.         return this.getSqlMapClientTemplate().queryForList(statementName, paramMap);<br> 
  40.     }<br> 
  41.     /**<br>
  42.      * 根据条件分页查询数据<br>
  43.      * @param statementName<br>
  44.      * @param paramMap<br>
  45.      * @param pageNum<br>
  46.      * @param recoderNum<br>
  47.      * @return<br>
  48.      */<br> 
  49.     public List searchPage(String statementName,Map paramMap,int pageNum,int recoderNum){<br> 
  50.         return this.getSqlMapClientTemplate().queryForList(statementName, pageNum, pageNum*recoderNum,(pageNum+1)*recoderNum);<br> 
  51.     }<br> 
  52.     /**<br>
  53.      * 删除符合条件的记录<br>
  54.      * @param statementName<br>
  55.      * @param paramMap<br>
  56.      * @return<br>
  57.      */<br> 
  58.     public int delete(String statementName,Map paramMap){<br> 
  59.         return this.getSqlMapClientTemplate().delete(statementName, paramMap);<br> 
  60.     }<br> 
  61. } 
分享到:
评论
1 楼 lsjinpeng 2011-09-26  
     

相关推荐

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

    struts2+spring+ibatis+mysql

    "Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    struts2+spring+Ibatis框架包

    iBatis与Spring的结合,可以让Spring管理SqlSession,提供事务控制,并且可以利用Spring的DAO支持,简化开发过程。 在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-...

    maven搭建SpringMVC+spring+ibatis

    Ibatis与Spring框架集成后,可以使用Spring的DI功能管理数据库连接,同时通过MyBatis-Spring提供的MapperScannerConfigurer自动扫描并注册Mapper接口,实现DAO层的便捷开发。 在SpringMVC+Spring+Ibatis的架构中,...

    struts+spring+ibatis做的一个增删改查例子

    Struts、Spring 和 iBATIS 是Java开发领域中三大经典的开源框架,它们组合起来可以构建出高效、可维护的企业级Web应用。这个例子是利用这三个框架实现了一个基础的增删改查(CRUD)功能,涵盖了数据库操作、业务逻辑...

    JSF+Spring+Ibatis示例

    JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!

    struts2 + spring + ibatis 实例

    struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例

    spring+struts2+ibatis整合的jar包

    在Java Web开发中,Spring、Struts2和iBatis是三个非常重要的框架,它们各自在不同的层面上提供了强大的功能。Spring是一个全面的后端应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能;Struts...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    webwork+spring+ibatis很适合初学者的实例

    Spring还包含事务管理、数据访问集成(如JDBC、Hibernate、iBATIS)、服务层支持(如DAO和Service接口)、以及各种工具和模块,如Spring Boot、Spring Cloud等,极大地提高了开发效率和应用的可维护性。 **iBATIS**...

    spring+ibatis+oracle分页缓存源码

    总的来说,"spring+ibatis+oracle分页缓存源码"项目展示了如何在Spring管理的环境中,利用iBatis和Oracle数据库实现高效的数据分页和缓存策略。通过理解和实践这些技术,开发者可以构建出更加健壮、响应快速的Web...

    struts+spring+ibatis的Demo

    Struts、Spring和iBatis是Java开发领域中三大经典的开源框架,它们分别负责MVC模式中的动作控制、依赖注入以及数据库操作。这个"struts+spring+ibatis的Demo"压缩包文件提供了这三个框架集成使用的示例代码,旨在...

    struts2+hibernate+spring+ibatis 小实例

    struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+...

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博

    Spring+Struts+ibatis讲解

    3. 数据访问层(DAO):DAO层负责与数据库进行通信,具体的SQL语句写在domain包中的实体映射.xml文件里,如ibatis的mapper文件。DAO层同样分为接口和实现类,分别在iface和impl包中。 4. domain包:包含数据库表对应...

    struts+spring+ibatis框架

    在"struts+spring+ibatis"的整合应用中,Spring通常作为核心,管理Struts的Action以及iBatis的数据访问对象(DAO)。Struts处理HTTP请求,将请求转发给Spring管理的Action,Action再通过Spring的依赖注入获取到...

    spring+struts2+ibatis简单登录实例--特别适新人学习

    一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...

    spring+ibatis配置实例

    在IT行业中,Spring框架与iBatis(现为MyBatis)是两个广泛使用的开源库,主要用于构建企业级Java应用程序。本实例将介绍如何将它们整合以实现数据访问层的操作。"spring+ibatis配置实例"这个项目提供了一个完整的...

    各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernat)

    各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernat)

Global site tag (gtag.js) - Google Analytics