SqlMapClientTemplate的使用(转)
Apache iBatis(现已迁至Google Code下发展,更名为MyBatis)是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库的操作拥有更加灵活的控制,对于那些经常需要调用本地数据库函数自定义SQL语句,或是喜欢自己优化SQL执行效率的开发者来说,iBatis是一个非常不错的选择。而得到广泛应用的开源企业架构SpringFramework,也很好的将其进行了集成,使得iBatis在 SpringFramework中的使用更加便利、快捷。开发者所要做的就是继承SpringFramework中提供的 SqlMapClientDaoSupport类即可。下面,我将自己的使用经验与大家分享一下:
1、SqlMapClientFactoryBean 的装配
SqlMapClientFactoryBean是SqlMapClientTemplate使用的基础,如果在
SpringFramework应用中没有装配SqlMapClientFactoryBean,那么SqlMapClientTemplate将不可用,报空指针错误。
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="/WEB-INF/sqlmap-config.xml"/> <!-- iBatis sqlmap config 文件位置 -->
<property name="dataSource" ref="dataSource"/> <!-- 在SpringFramework配置文件中使用的数据源 -->
<property name="lobHandler" ref="oracleLobHandler"/> <!-- 如果需要读写Lob字段,需要注入在SpringFramework配置文件中配置好的Handler,这里是Oracle的数据库 -->
</bean>
2、继承使用SqlMapClientDaoSupport类
声明Java类:
......
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
......
public class ReportDAOImpl extends SqlMapClientDaoSupport {
......
}
SpringFramework配置文件中装配Java类:
<bean id="reportDao" class="com.test.dao.ReportDAOImpl">
<property name="sqlMapClient" ref="sqlMapClient"/> <!-- 装配SqlMapClientFactoryBean -->
</bean>
3、使用SqlMapClientTemplate查询
Java代码:
当执行没有参数的查询时:
List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTest");
"TestSpace"为iBatis SqlMap文件的命名空间;"qryTest"为iBatis SqlMap的查询方法id
当按照主键获取某条记录信息时:
Long id = new Long("2");
Object resultObj = getSqlMapClientTemplate().queryForObject("TestSpace.getTest", id);
当按照某些条件查询时:
ObjectA objA = new ObjectA();
objA.setParam1("test1");
objA.setParam2("test2");
......
List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA);
如果需要取4~40条数据:
List result = getSqlMapClientTemplate().queryForList("TestSpace.qryTestByParam", objA, 4, 40);
也可以返回Map
Map result = getSqlMapClientTemplate().queryForMap("TestSpace.qryTestByParam", objA, "MapKey");
4、使用SqlMapClientTemplate添加数据
Java代码:
ObjectA objA = new ObjectA();
objA.setParam1("test1");
objA.setParam2("test2");
......
getSqlMapClientTemplate().insert("TestSpace.insertTest", objA);
5、使用SqlMapClientTemplate更新数据
Java代码:
ObjectA objA = new ObjectA();
objA.setParam1("test1");
objA.setParam2("test2");
......
getSqlMapClientTemplate().update("TestSpace.updateTest", objA);
更新前20条记录:
getSqlMapClientTemplate().update("TestSpace.updateTest", objA, 20);
6、使用SqlMapClientTemplate删除数据
Java代码:
Long id = new Long("2");
getSqlMapClientTemplate().delete("TestSpace.deleteTest", id);
SqlMapClientTemplate是SqlMapClient的封装类.
SqlMapClient中包含着session的管理.
SqlMapClientTemplate用于session的封装,以及异常的捕捉.
所以按照以上的推断来说.应该尽量使用SqlMapClientTemplate.
保证session以及Exception的正常以及统一.
分享到:
相关推荐
Spring MVC 和 MyBatis 是两个在Java Web 开发中广泛使用的框架。Spring MVC 作为Spring框架的一部分,负责处理HTTP请求并转发到相应的业务逻辑,而MyBatis则是一个轻量级的持久层框架,用于简化数据库操作。整合这...
Spring MVC、MyBatis 和 Maven 是Java开发中常用的三大技术框架,它们的整合是构建高效、灵活的企业级Web应用的常见方式。这篇文章将详细介绍如何将这三者进行整合,并通过一个具体的“testmybatis”项目案例来阐述...
Spring MVC、MyBatis 和 Velocity 是三个在Java Web开发中广泛应用的开源框架。Spring MVC 是Spring框架的一部分,用于构建高效、灵活的Web应用程序。MyBatis 是一个优秀的持久层框架,它支持定制化SQL、存储过程...
在IT行业中,Spring MVC、MyBatis Plus以及AOP(面向切面编程)是Java Web开发中的重要组件,常用于构建高效、灵活的企业级应用。本项目“Spring MVC Mybatis Plus 实现AOP 切面日志系统”旨在提供一个基础的日志...
《Spring MVC MYBatis企业应用实战+源码》是一份深度探讨如何在企业环境中整合并高效使用Spring MVC和MyBatis两大主流Java框架的资源包。这个资源包含了一本PDF电子书《spring+mybatis企业应用实战》以及配套的源...
《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本专注于Java企业级应用开发的专业教程,由黑马程序员编著。本书的核心在于深入浅出地介绍如何使用Java EE技术栈,特别是Spring、Spring MVC和...
【标题】"spring spring mvc mybatis 健身房系统"揭示了这是一个基于Java技术栈的健身房管理系统,采用Spring框架、Spring MVC和MyBatis作为核心开发工具。这三个技术是Java Web开发中的常用组件,它们共同构建了一...
【标题】"Spring MVC MyBatis简单框架-带sql.rar" 涉及到的核心技术是Spring MVC和MyBatis,这两个是Java开发中的两大重要框架,常用于构建Web应用程序。Spring MVC是Spring框架的一部分,专门处理Web层的业务,而...
Spring mvc mybatis 企业应用实践
Spring Spring MVC Mybatis三大框架的整合demo,里面包含写好的示例程序。可以作为所有SSM爱好者开发的基础模板,拿来即用。内附解释文档。由于涉及隐私问题,代码中将POM删除,需要自己写POM引入jar包。
【标题】"maven整合Spring MVC Mybatis"涉及的核心知识点主要集中在Java Web开发中的三大框架——Spring、Spring MVC和Mybatis的集成应用上。对于初学者来说,理解这些框架的协同工作方式至关重要。 首先,Maven是...
Spring MVC 和 MyBatis 是两个在Java Web开发中广泛使用的框架。Spring MVC 是Spring框架的一部分,主要用于构建MVC(Model-View-Controller)结构的Web应用程序,而MyBatis则是一个优秀的持久层框架,它支持定制化...
Spring MVC MYBatis企业应用实战,详细描述spring mvc原理及注解,怎么与mybatis整合,构建企业级web实战
标题 "spring mvc mybatis jqueryeasyui" 描述了一个基于Java技术栈的Web应用程序开发场景,其中Spring MVC作为控制层框架,MyBatis作为数据访问层框架,jQuery和EasyUI则用于前端交互和界面设计。下面将详细阐述...
《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本深入浅出的教程,旨在帮助读者掌握使用Java EE技术栈进行企业级应用开发的技能。本教程主要聚焦于Spring框架、Spring MVC以及MyBatis这三大核心...
spring spring mvc mybatis框架整合,使用最新发布的库,有什么问题欢迎交流 QQ342113667
spring mvc mybatis hibernate完整项目代码,完整JAR包。 运行URL路径:http://localhost:8080/cims/template.do?type=addTemplate
本主题将详细探讨"Maven、Spring、Spring MVC和MyBatis"这四大技术的整合,以及它们如何协同工作来构建高效、可维护的Web应用程序。 首先,Maven是一个项目管理和综合工具,它通过一个XML配置文件管理项目的依赖...
《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一门深入探讨Java后端开发技术的课程,主要围绕Java EE平台上的Spring、Spring MVC和MyBatis这三个核心框架进行讲解。Java EE,全称Java Platform, ...
【标题】"Spring MVC MyBatis Freemarker 开发CMS代码" 涉及到的是一个基于Java技术栈的内容管理系统(CMS)开发项目。这个项目利用了Spring MVC作为控制层框架,MyBatis作为数据访问层框架,以及Freemarker作为视图...