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);
http://sharkl.iteye.com/blog/745615
分享到:
相关推荐
在"ibaits例子"中,你可以看到如何设置这些配置,如何编写SQL映射文件,以及如何在Java代码中使用Ibatis进行数据库操作。通过学习这个例子,你将能够更好地理解和应用Ibatis框架,提高你的Java开发效率。
转载请注明:来自http://blog.csdn.net/M_ChangGong/作者:张燕广该系列文章我主要是在JavaSE工程中演示一下通过 Ibaits实现CRUD,要移植到Web项目中也是很方便的。不久也会发表SSI(Spring2.5+Struts2+Ibaits)整合配置...
【Java项目应用中自定义SQL在iBatis框架中的使用】 在Java开发中,使用Spring+iBatis框架,经常会遇到标准的SQL映射方法无法满足特定业务需求的情况。此时,就需要自定义SQL来实现功能扩展。本文将详细介绍如何在...
在Spring Boot中,可以使用JWT(JSON Web Token)或OAuth2等机制实现Token管理,为用户提供安全的认证和会话管理。 这个项目结合了上述技术,构建了一个完整的后端系统,涵盖了从数据存储到业务逻辑处理的各个环节...
Spring、Struts和iBatis是Java开发中的三大框架,它们在企业级应用开发中有着广泛的应用。这个"spring+struts+ibaits实例.zip"压缩包提供了一个经典的实例,帮助开发者理解这三大框架如何协同工作。下面我们将深入...
在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的初始设置和配置。而iBatis,作为一款持久层框架,可以帮助开发者将SQL语句与Java代码分离,实现数据访问层的灵活管理和高效执行。本教程...
ibaits2.3.0.chm
对于“ibaits例子曾删改”的主题,实际操作中,我们可以创建一个简单的项目,配置Ibatis环境,编写对应的XML映射文件和Mapper接口,然后进行增删改查的测试,这样就能直观地理解Ibatis的工作原理和使用方式。...
最近没事儿写了个ibatis最完的例子,这个东西很好用,也很灵活。里面附带了ibatis详细学习文档,各种需要的jar包,最主要是有一个实用的例子,下载下来后在自己的机器上创建数据库建个表,修改一下配置就可以直接...
在这个名为"Ibaits源码及样例"的压缩包中,我们可以深入理解Ibatis的工作原理和用法。下面将详细介绍Ibatis的关键知识点。 1. SQL Map配置文件:Ibatis的核心是SQL Map配置文件,它定义了数据访问对象(DAO)和SQL...
【标题】:“Ibaits例子与PPT” 【描述】:本资料主要涵盖了关于Ibatis的相关知识,通过一个具体的myeclipse工程实例来深入解析Ibatis的使用,同时结合PPT的形式,使得学习过程更加直观易懂。Ibatis是一个优秀的...
struts1.2 +spring2.5 +ibaits2.0 框架整合,jndi获取数据源,简单易读
Ibaits2.2帮助文档(英文),API 文档
在DAO接口中,可以使用iBatis的Mapper接口,执行SQL查询和更新。 6. **视图解析**:配置视图解析器,如InternalResourceViewResolver,根据返回的视图名(如"success")找到对应的视图文件(如jsp或html)。 7. **...
这个"ibaits学习例子"压缩包包含了作者在学习iBatis过程中创建的示例项目,所有示例都经过了测试,确保功能正常,为初学者或有经验的开发者提供了一个宝贵的参考资料。 首先,iBatis的核心是SQL Map配置文件,它...
5. **使用Mapper**:在业务逻辑类中,通过@Autowired注解注入Mapper接口,然后就可以调用其方法执行SQL了。 关于WebLogic服务器的JTA事务管理配置,WebLogic提供了一种基于JTA的全局事务支持,适用于多数据源和...
**IBatis 学习总结** **一、简介** IBatis 是一个优秀的持久层框架,它允许开发者将 SQL 语句直接写在配置...通过阅读提供的 "ibaits学习总结.docx" 和 "IBAITS学习总结" 文件,可以深入理解其具体使用方法和案例。
利用JAVA代理Proxy机制实现spring对ibaits的MapperScannerConfigurer功能 详细:http://blog.csdn.net/wq105032007067/article/details/8812598
这个文件可能包含了配置文件、SQL映射文件以及相关的Java代码,帮助开发者理解如何在Struts2和Spring的环境中配置和使用iBatis。 总的来说,Struts2、Spring和iBatis是构建Java Web应用的重要组件,它们各自专注于...
标题 "ibaits guide resource" 暗示了这是一个关于 iBATIS 框架的资源集合,主要包括最新的 iBATIS 指南、文档以及一本名为 "iBATIS in Action" 的书籍。描述中的 "latest ibatis guide, ibatis docs, ibatis in ...