转自: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. }
最近项目中使用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. }
发表评论
-
使用iBatis的自动化代码生成工具Abator
2009-07-21 19:07 1030原来还不知道iBatis也有 ... -
配置Log4j
2009-07-21 13:35 611Log4J的配置文件(Configurat ... -
设置Tomcat访问日志
2009-07-15 11:52 1997常使用web服务器的朋友大都了解,一般的web server有 ... -
java 学习链接
2009-07-14 21:29 6461 log4j http://kdboy.iteye.co ... -
Java中使用Log4j
2009-07-14 20:38 7301、Log4j是什么? Log4j可以帮助调试(有时候d ... -
Java 专业人士必备的书籍和网站列表
2009-07-14 12:41 537对于 Java™ 语言开 ... -
MyEclipse 快捷键
2009-07-09 21:33 581MyEclipse 快捷键 (1)Ctrl ...
相关推荐
很好的spring+ibatis事务的配置文档.
"Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
iBatis与Spring的结合,可以让Spring管理SqlSession,提供事务控制,并且可以利用Spring的DAO支持,简化开发过程。 在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-...
Ibatis与Spring框架集成后,可以使用Spring的DI功能管理数据库连接,同时通过MyBatis-Spring提供的MapperScannerConfigurer自动扫描并注册Mapper接口,实现DAO层的便捷开发。 在SpringMVC+Spring+Ibatis的架构中,...
Struts、Spring 和 iBATIS 是Java开发领域中三大经典的开源框架,它们组合起来可以构建出高效、可维护的企业级Web应用。这个例子是利用这三个框架实现了一个基础的增删改查(CRUD)功能,涵盖了数据库操作、业务逻辑...
JSF+Spring+Ibatis示例,对学习JAVA企业应用开发有巨大的帮助!
struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例 struts2 + spring + ibatis 实例
在Java Web开发中,Spring、Struts2和iBatis是三个非常重要的框架,它们各自在不同的层面上提供了强大的功能。Spring是一个全面的后端应用框架,提供了依赖注入(DI)、面向切面编程(AOP)、事务管理等功能;Struts...
maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...
Spring还包含事务管理、数据访问集成(如JDBC、Hibernate、iBATIS)、服务层支持(如DAO和Service接口)、以及各种工具和模块,如Spring Boot、Spring Cloud等,极大地提高了开发效率和应用的可维护性。 **iBATIS**...
总的来说,"spring+ibatis+oracle分页缓存源码"项目展示了如何在Spring管理的环境中,利用iBatis和Oracle数据库实现高效的数据分页和缓存策略。通过理解和实践这些技术,开发者可以构建出更加健壮、响应快速的Web...
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+...
Struts+Spring+Ibatis环境配置(一) - zwjxf的专栏 - 博
3. 数据访问层(DAO):DAO层负责与数据库进行通信,具体的SQL语句写在domain包中的实体映射.xml文件里,如ibatis的mapper文件。DAO层同样分为接口和实现类,分别在iface和impl包中。 4. domain包:包含数据库表对应...
在"struts+spring+ibatis"的整合应用中,Spring通常作为核心,管理Struts的Action以及iBatis的数据访问对象(DAO)。Struts处理HTTP请求,将请求转发给Spring管理的Action,Action再通过Spring的依赖注入获取到...
一个简单的spring+struts+ibatis整合的实例,实现了用户登录,用户登录成功则显示欢迎信息,失败则显示用户名或密码错误,该实例非常简单基础,特别适合新人学习,工程包含了必要的资源包,部署到服务器中及可运行,...
在IT行业中,Spring框架与iBatis(现为MyBatis)是两个广泛使用的开源库,主要用于构建企业级Java应用程序。本实例将介绍如何将它们整合以实现数据访问层的操作。"spring+ibatis配置实例"这个项目提供了一个完整的...
各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernat)