`
liuxi1024
  • 浏览: 391014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring 中整合ibatis

阅读更多

1、概念表述

    iBatis2是一个轻量级的数据持久化框架,它是一个半自动化的ORMapping工具,数据库的操作依赖程序员自己书写的SQL,因此可以最大限度发挥JDBC的性能。据测试,它的性能和JDBC是一个级别的,但代码比JDBC简单的多,据说相对JDBC节省了60%的代码量。

    缺点是映射不灵活,有时候感觉很别扭。当领域对象关系复杂的时候,关联基本上行不通。

 

2、需要ibatis*.jar

 

3、在spring容器中整合ibatis

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=utf-8</value>
        </property>
        <property name="username">
            <value>test</value>
        </property>
        <property name="password">
            <value>test</value>
        </property>
    </bean>   
	
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    	<property name="configLocation">
    		<value>classpath:SqlMapConfig.xml</value> 
   		</property>
    	<property name="dataSource">
    		<ref local="dataSource"/>
    	</property> 
	</bean> 
	
	<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
		<property name="sqlMapClient">
			<ref bean="sqlMapClient" />
		</property>
	</bean>
    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    	<property name="dataSource">
    		<ref local="dataSource"/>
    	</property> 
    </bean>

 

4、SqlMapConfig.xml 配置

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<settings
		cacheModelsEnabled="true"
		enhancementEnabled="true"
		lazyLoadingEnabled="true"
		errorTracingEnabled="true"
		maxRequests="32"
		maxSessions="10"
		maxTransactions="5"
		useStatementNamespaces="false"
	/>
	<sqlMap resource="com/test/bean/User.xml"/>
</sqlMapConfig>

 

说明:<settings>用于优化SqlMapClient实例的各选项。

 

5、User.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">

<sqlMap namespace="User">
	<typeAlias alias="user" type="com.test.bean.User"/>
<resultMap id="userResult" class="user">
		<result property="userId" column="user_id" />
		<result property="loginName" column="user_login_name" />
		<result property="userName" column="user_name" />
		<result property="userPassword" column="user_password" />
		</resultMap>

<select id="getUserById" parameterClass="java.lang.String" resultMap="userResult">
		<![CDATA[
			select 
				*
			from user
			where userId = #userId#
		]]>
	</select>
</sqlMap>

 

 

说明:typeAlias 定义了本映射文件中的别名

         resultMap是结果集的映射

         <select> 为查询语句

 

 

 

 

分享到:
评论

相关推荐

    spring3.2与Ibatis整合

    6. **Mapper接口和XML映射文件**:在iBatis中,定义Mapper接口并配合XML映射文件,可以实现SQL语句的执行。接口方法与XML文件中的SQL语句相对应,通过Spring的动态代理,调用接口方法即可执行对应的SQL。 7. **测试...

    Spring对IBatis的整合

    ### Spring对IBatis的整合 #### 一、Spring与IBatis整合概述 Spring框架与IBatis(现称为MyBatis)的整合为开发者提供了一种更简洁、更强大的数据库访问方式。Spring通过其内置的支持机制极大地简化了原有的IBatis...

    Spring 3.0 整合Ibatis 3

    ### Spring 3.0 整合 iBatis 3 的实践与配置 #### 一、背景介绍 在软件开发过程中,经常会遇到需要整合多种技术框架的情况。本文将详细介绍如何将 Spring 3.0 与 iBatis 3 进行整合。尽管作者提到 iBatis 3 在当时...

    spring ibatis整合所需jar包

    1. 添加依赖:在`spring ibatis整合所需jar包`中,通常包含以下关键jar文件: - spring核心库:如spring-context、spring-beans、spring-aop等,用于Spring框架的基本功能。 - spring-jdbc和spring-tx:支持Spring...

    struts2+spring3+ibatis项目整合案例

    在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何相互配合,实现项目的集成。 Struts2作为MVC(Model-View-Controller)架构的实现,主要负责处理用户请求,控制应用的流程。它提供...

    springMVC+Spring3.1+Ibatis整合CRUD

    SpringMVC、Spring和iBatis是Java Web开发中常用的三大框架,它们分别负责不同的职责:SpringMVC作为模型视图控制器,处理Web请求;Spring则提供依赖注入和面向切面编程,管理整个应用的bean;iBatis作为数据访问层...

    iBatis和Spring整合

    iBatis和Spring整合 iBatis和Spring整合

    Spring 2.5整合iBATIS 2.3并使用Spring的声明式事务管理

    本篇将详细介绍如何在Spring 2.5版本中整合iBATIS 2.3,并利用Spring的声明式事务管理,以提升应用程序的稳定性和可维护性。 首先,我们需要了解Spring 2.5和iBATIS 2.3的基本概念。Spring 2.5是Spring框架的一个...

    Spring整合iBatis

    **Spring整合iBatis详解** 在Java开发领域,Spring框架以其强大的依赖注入和面向切面编程能力被广泛应用,而iBatis作为一个轻量级的持久层框架,以其灵活的SQL映射机制受到开发者喜爱。将两者整合,可以充分利用...

    ibatis 与spring3整合

    整合Ibatis 和 Spring 的主要目标是利用Spring的管理能力,将Ibatis的SqlSessionFactory和SqlSessionTemplate等组件纳入到Spring的上下文中,实现事务管理和对象的生命周期管理。以下是一些关键步骤: 1. **添加...

    ibatis与spring整合

    ### ibatis与Spring框架整合详解 #### 一、ibatis简介 ibatis是一个开源的、基于Java的持久层框架,它提供了SQL映射的方式来进行数据库访问。与Hibernate等其他ORM框架相比,ibatis更加轻量级,对于那些只需要简单...

    ibatis与Spring整合例子

    接下来,我们将详细讨论如何在Spring中整合iBATIS,以及涉及到的相关知识点。 首先,为了实现iBATIS和Spring的整合,我们需要引入相应的库文件。如文件描述所示,我们需要`spring-framework-1.2.7.jar`、`iBATIS_...

    spring3 ibatis整合实例

    Spring3 和 iBatis 整合是一个常见的Java企业级应用开发模式,主要用于构建灵活、可扩展的后端数据访问层。这个项目实例提供了一个详细的学习资源,帮助新手掌握这两种技术的融合。以下是对这个整合实例的详细解析:...

    Spring整合ibatis

    ### Spring整合ibatis知识点详解 #### 一、Spring与ibatis简介 - **Spring框架**:Spring是一个开源的Java平台框架,它为开发Java应用程序提供了一种全面的基础架构支持。Spring的核心特性包括依赖注入(DI)、...

    spring与ibatis整合集成实例

    3. **配置文件**:在整合过程中,需要配置两部分:Spring 配置文件(如 `applicationContext.xml`)和 iBATIS 配置文件(如 `sqlMapConfig.xml`)。Spring 配置文件中定义数据源、事务管理器以及 ...

    Structs2.0+Spring2.5+Ibatis整合例子

    5. **整合Spring与iBatis**:通过SqlSessionTemplate或SqlSessionCallback在Spring的DAO中执行iBatis的SQL语句。 6. **测试**:编写JUnit测试用例,确保在不同类型的数据库和数据源下,应用程序都能正常工作,没有...

    spring和ibatis整合

    在整合iBatis时,Spring会管理SqlSessionFactory和SqlSessionTemplate,这些都是与数据库交互的关键组件。 2. **配置文件**:在整合过程中,需要创建XML配置文件,如`sqlMapConfig.xml`来配置iBatis的基本设置,...

    Spring 3.0 整合 iBatis 3 Beta10 配置

    在Spring 3.0中整合iBatis 3 Beta10是一个相对复杂的过程,因为官方文档并未明确提及对iBatis 3的支持。不过,通过一些自定义配置和理解两个框架的基本原理,开发者可以实现这样的整合。下面我们将详细介绍如何进行...

    ibatis与spring的整合

    在整合iBATIS和Spring的过程中,主要目标是利用Spring的IOC(Inversion of Control)容器来管理和协调数据访问层(DAO)以及事务处理,同时利用iBATIS作为SQL映射框架,提供灵活的数据库操作。以下将详细阐述整合的...

    spring ibatis 的整合

    在Spring中整合iBATIS(MyBatis),首先需要添加相应的依赖到项目中。这通常涉及到在Maven或Gradle的配置文件中引入Spring和MyBatis的库。例如,在Maven的pom.xml文件中,可能会有如下依赖: ```xml &lt;groupId&gt;...

Global site tag (gtag.js) - Google Analytics