`
wataxi
  • 浏览: 209060 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(转)iBaits中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);


http://sharkl.iteye.com/blog/745615
分享到:
评论

相关推荐

    ibaits例子

    在"ibaits例子"中,你可以看到如何设置这些配置,如何编写SQL映射文件,以及如何在Java代码中使用Ibatis进行数据库操作。通过学习这个例子,你将能够更好地理解和应用Ibatis框架,提高你的Java开发效率。

    ibaits2.3.4源代码

    转载请注明:来自http://blog.csdn.net/M_ChangGong/作者:张燕广该系列文章我主要是在JavaSE工程中演示一下通过 Ibaits实现CRUD,要移植到Web项目中也是很方便的。不久也会发表SSI(Spring2.5+Struts2+Ibaits)整合配置...

    java项目应用中自定义sql在ibaits框架中的使用.docx

    【Java项目应用中自定义SQL在iBatis框架中的使用】 在Java开发中,使用Spring+iBatis框架,经常会遇到标准的SQL映射方法无法满足特定业务需求的情况。此时,就需要自定义SQL来实现功能扩展。本文将详细介绍如何在...

    springboot ibaits mysql整合

    在Spring Boot中,可以使用JWT(JSON Web Token)或OAuth2等机制实现Token管理,为用户提供安全的认证和会话管理。 这个项目结合了上述技术,构建了一个完整的后端系统,涵盖了从数据存储到业务逻辑处理的各个环节...

    spring+struts+ibaits实例.zip

    Spring、Struts和iBatis是Java开发中的三大框架,它们在企业级应用开发中有着广泛的应用。这个"spring+struts+ibaits实例.zip"压缩包提供了一个经典的实例,帮助开发者理解这三大框架如何协同工作。下面我们将深入...

    springboot ibaits mysql整合 01

    在IT行业中,Spring Boot是一个非常流行的Java框架,用于简化Spring应用程序的初始设置和配置。而iBatis,作为一款持久层框架,可以帮助开发者将SQL语句与Java代码分离,实现数据访问层的灵活管理和高效执行。本教程...

    ibaits2.3.0.chm

    ibaits2.3.0.chm

    ibaits例子曾删改

    对于“ibaits例子曾删改”的主题,实际操作中,我们可以创建一个简单的项目,配置Ibatis环境,编写对应的XML映射文件和Mapper接口,然后进行增删改查的测试,这样就能直观地理解Ibatis的工作原理和使用方式。...

    ibaits完整实例+jar包+详细学习文档

    最近没事儿写了个ibatis最完的例子,这个东西很好用,也很灵活。里面附带了ibatis详细学习文档,各种需要的jar包,最主要是有一个实用的例子,下载下来后在自己的机器上创建数据库建个表,修改一下配置就可以直接...

    ibaits源码以及样例

    在这个名为"Ibaits源码及样例"的压缩包中,我们可以深入理解Ibatis的工作原理和用法。下面将详细介绍Ibatis的关键知识点。 1. SQL Map配置文件:Ibatis的核心是SQL Map配置文件,它定义了数据访问对象(DAO)和SQL...

    Ibaits例子与PPT

    【标题】:“Ibaits例子与PPT” 【描述】:本资料主要涵盖了关于Ibatis的相关知识,通过一个具体的myeclipse工程实例来深入解析Ibatis的使用,同时结合PPT的形式,使得学习过程更加直观易懂。Ibatis是一个优秀的...

    struts+spring+ibaits

    struts1.2 +spring2.5 +ibaits2.0 框架整合,jndi获取数据源,简单易读

    Ibaits2.2帮助文档(英文)

    Ibaits2.2帮助文档(英文),API 文档

    springmvc+ibaits示例

    在DAO接口中,可以使用iBatis的Mapper接口,执行SQL查询和更新。 6. **视图解析**:配置视图解析器,如InternalResourceViewResolver,根据返回的视图名(如"success")找到对应的视图文件(如jsp或html)。 7. **...

    ibaits学习例子

    这个"ibaits学习例子"压缩包包含了作者在学习iBatis过程中创建的示例项目,所有示例都经过了测试,确保功能正常,为初学者或有经验的开发者提供了一个宝贵的参考资料。 首先,iBatis的核心是SQL Map配置文件,它...

    ibaits+spring的整合

    5. **使用Mapper**:在业务逻辑类中,通过@Autowired注解注入Mapper接口,然后就可以调用其方法执行SQL了。 关于WebLogic服务器的JTA事务管理配置,WebLogic提供了一种基于JTA的全局事务支持,适用于多数据源和...

    IBAITS学习总结

    **IBatis 学习总结** **一、简介** IBatis 是一个优秀的持久层框架,它允许开发者将 SQL 语句直接写在配置...通过阅读提供的 "ibaits学习总结.docx" 和 "IBAITS学习总结" 文件,可以深入理解其具体使用方法和案例。

    利用JAVA代理Proxy机制实现spring对ibaits的MapperScannerConfigurer功能

    利用JAVA代理Proxy机制实现spring对ibaits的MapperScannerConfigurer功能 详细:http://blog.csdn.net/wq105032007067/article/details/8812598

    struts2,spring,ibaits

    这个文件可能包含了配置文件、SQL映射文件以及相关的Java代码,帮助开发者理解如何在Struts2和Spring的环境中配置和使用iBatis。 总的来说,Struts2、Spring和iBatis是构建Java Web应用的重要组件,它们各自专注于...

    ibaits guide resource

    标题 "ibaits guide resource" 暗示了这是一个关于 iBATIS 框架的资源集合,主要包括最新的 iBATIS 指南、文档以及一本名为 "iBATIS in Action" 的书籍。描述中的 "latest ibatis guide, ibatis docs, ibatis in ...

Global site tag (gtag.js) - Google Analytics