`

spring mvc mybatis

    博客分类:
  • j2ee
 
阅读更多
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 整合源码,带数据库脚本,带详细注释

    Spring MVC 和 MyBatis 是两个在Java Web 开发中广泛使用的框架。Spring MVC 作为Spring框架的一部分,负责处理HTTP请求并转发到相应的业务逻辑,而MyBatis则是一个轻量级的持久层框架,用于简化数据库操作。整合这...

    spring mvc mybatis 整合 maven

    Spring MVC、MyBatis 和 Maven 是Java开发中常用的三大技术框架,它们的整合是构建高效、灵活的企业级Web应用的常见方式。这篇文章将详细介绍如何将这三者进行整合,并通过一个具体的“testmybatis”项目案例来阐述...

    spring mvc mybatis velocity 示范

    Spring MVC、MyBatis 和 Velocity 是三个在Java Web开发中广泛应用的开源框架。Spring MVC 是Spring框架的一部分,用于构建高效、灵活的Web应用程序。MyBatis 是一个优秀的持久层框架,它支持定制化SQL、存储过程...

    Spring mvc mybatis plus 实现AOP 切面日志系统

    在IT行业中,Spring MVC、MyBatis Plus以及AOP(面向切面编程)是Java Web开发中的重要组件,常用于构建高效、灵活的企业级应用。本项目“Spring MVC Mybatis Plus 实现AOP 切面日志系统”旨在提供一个基础的日志...

    《Spring MVC MYBatis企业应用实战+源码》

    《Spring MVC MYBatis企业应用实战+源码》是一份深度探讨如何在企业环境中整合并高效使用Spring MVC和MyBatis两大主流Java框架的资源包。这个资源包含了一本PDF电子书《spring+mybatis企业应用实战》以及配套的源...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis)(黑马程序员编著)

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本专注于Java企业级应用开发的专业教程,由黑马程序员编著。本书的核心在于深入浅出地介绍如何使用Java EE技术栈,特别是Spring、Spring MVC和...

    spring spring mvc mybatis 健身房系统

    【标题】"spring spring mvc mybatis 健身房系统"揭示了这是一个基于Java技术栈的健身房管理系统,采用Spring框架、Spring MVC和MyBatis作为核心开发工具。这三个技术是Java Web开发中的常用组件,它们共同构建了一...

    Spring MVC MyBatis简单框架-带sql.rar

    【标题】"Spring MVC MyBatis简单框架-带sql.rar" 涉及到的核心技术是Spring MVC和MyBatis,这两个是Java开发中的两大重要框架,常用于构建Web应用程序。Spring MVC是Spring框架的一部分,专门处理Web层的业务,而...

    Spring mvc mybatis 企业应用实践

    Spring mvc mybatis 企业应用实践

    Spring Spring MVC Mybatis整合demo

    Spring Spring MVC Mybatis三大框架的整合demo,里面包含写好的示例程序。可以作为所有SSM爱好者开发的基础模板,拿来即用。内附解释文档。由于涉及隐私问题,代码中将POM删除,需要自己写POM引入jar包。

    maven整合Spring MVC Mybatis(包括mybatis反向生产代码*适合新手,高手请自动忽略)

    【标题】"maven整合Spring MVC Mybatis"涉及的核心知识点主要集中在Java Web开发中的三大框架——Spring、Spring MVC和Mybatis的集成应用上。对于初学者来说,理解这些框架的协同工作方式至关重要。 首先,Maven是...

    spring mvc mybatis项目源码

    Spring MVC 和 MyBatis 是两个在Java Web开发中广泛使用的框架。Spring MVC 是Spring框架的一部分,主要用于构建MVC(Model-View-Controller)结构的Web应用程序,而MyBatis则是一个优秀的持久层框架,它支持定制化...

    Spring MVC MYBatis企业应用实战

    Spring MVC MYBatis企业应用实战,详细描述spring mvc原理及注解,怎么与mybatis整合,构建企业级web实战

    spring mvc mybatis jqueryeasyui

    标题 "spring mvc mybatis jqueryeasyui" 描述了一个基于Java技术栈的Web应用程序开发场景,其中Spring MVC作为控制层框架,MyBatis作为数据访问层框架,jQuery和EasyUI则用于前端交互和界面设计。下面将详细阐述...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis).zip

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一本深入浅出的教程,旨在帮助读者掌握使用Java EE技术栈进行企业级应用开发的技能。本教程主要聚焦于Spring框架、Spring MVC以及MyBatis这三大核心...

    spring mvc mybatis 开发环境整合 --最新库

    spring spring mvc mybatis框架整合,使用最新发布的库,有什么问题欢迎交流 QQ342113667

    spring mvc mybatis hibernate完整项目代码

    spring mvc mybatis hibernate完整项目代码,完整JAR包。 运行URL路径:http://localhost:8080/cims/template.do?type=addTemplate

    maven spring spring mvc mybatis 整合

    本主题将详细探讨"Maven、Spring、Spring MVC和MyBatis"这四大技术的整合,以及它们如何协同工作来构建高效、可维护的Web应用程序。 首先,Maven是一个项目管理和综合工具,它通过一个XML配置文件管理项目的依赖...

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》.zip

    《Java EE企业级应用开发教程(Spring Spring MVC MyBatis)》是一门深入探讨Java后端开发技术的课程,主要围绕Java EE平台上的Spring、Spring MVC和MyBatis这三个核心框架进行讲解。Java EE,全称Java Platform, ...

    spring mvc mybatis freemarker 开发CMS代码

    【标题】"Spring MVC MyBatis Freemarker 开发CMS代码" 涉及到的是一个基于Java技术栈的内容管理系统(CMS)开发项目。这个项目利用了Spring MVC作为控制层框架,MyBatis作为数据访问层框架,以及Freemarker作为视图...

Global site tag (gtag.js) - Google Analytics