`

整合Mybatis与Spring3

阅读更多
上午参考了一些文章,整合了spring+mybatis,现在共享一下。把代码帖出来,如果有什么疑问,到mybatis官网下载相关文档来看一下就可以了。如果没有基础,请看我之前发的文章。
1.实体bean
package org.hyn.bean;

public class User {
	private int id;
	private String name;
	private int age;
...//长长的set get 方法


2.Mapper及配置文件
package org.hyn.maper;

import org.hyn.bean.User;

public interface UserMapper {
	public void insertUser(User user);

	public User getUser(String name);
}


<?xml version="1.0" encoding="UTF-8" ?> 
    <!DOCTYPE mapper 
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.hyn.maper.UserMapper">
	<insert id="insertUser" parameterType="org.hyn.bean.User">
		insert into user(name,age) values(#{name},#{age}) 
        </insert>
	<select id="getUser" resultType="org.hyn.bean.User"
		parameterType="java.lang.String">
		select * from user where name=#{name} 
       </select>

	<!-- 当使用该Mybatis与Spring整合的时候,该文件必须和相应的Mapper接口文件同名,并在同一路径下 -->
</mapper> 

3.spring配置文件
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="myDataSource" />

		<!-- <property name="configLocation" value=""/> -->
		<!--
			该属性用来指定MyBatis的XML配置文件路径,跟Spring整合时,编写MyBatis映射文件的目的无非是配置一下typeAlias、setting之类的
			元素。不用在其中指定数据源,或者事务处理方式。就算配置了也会被忽略。因为这些都是使用Spring中的配置
			。当然如果你不打算添加typeAlias 之类的设置的话,你连MyBatis的配置文件都不用写,更不用配置这个属性了
		-->

		<!--<property name="mapperLocations" value="src/UserMapper.xml"/>-->
		<!-- 该配置文件用来指定Mapper映射文件的位置 ,如果映射文件与相应的接口同名,且在同一路径下,那么可以不配置该选项-->
	</bean>

	<!--
		注册Mapper方式一 <bean id="userMapper"
		class="org.mybatis.spring.mapper.MapperFactoryBean"> <property
		name="mapperInterface"
		value="org.hyn.maper.UserMapper"/> <property
		name="sqlSessionFactory" ref="sqlSessionFactory"/> </bean>
	-->

	<!-- 注册Mapper方式二:也可不指定特定mapper,而使用自动扫描包的方式来注册各种Mapper ,配置如下:-->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="org.hyn.maper" />
	</bean>

4.测试类
	@Test
	public void testGetUser() {
		ApplicationContext aContext = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");
		UserMapper userMapper = aContext.getBean(UserMapper.class);
		User user = userMapper.getUser("张三");
		System.out.println(user.toString());
	}
	
	@Test
	public void testAddUser(){
		ApplicationContext aContext = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");
		UserMapper userMapper = aContext.getBean(UserMapper.class);
		User user = new User();
		user.setName("张三");
		user.setAge(18);
		userMapper.insertUser(user);
		System.out.println("添加成功");
	}


下面付上源代码
分享到:
评论
25 楼 grandboy 2011-05-25  
y3213578 写道
mark一下   mybaits和itbatis表面上看差别并不大

差别还是挺大的,mybatis只写一个接口后,就可以直接使用,由mybatis自己把接口里的方法根据xml映射到proxy类(这个不知道准确不,反正就不用自己写实现类), 我记得ibatis2好像做不到这点。现在的方便一些,我刚开始时用还很不习惯。
24 楼 y3213578 2011-05-24  
mark一下   mybaits和itbatis表面上看差别并不大
23 楼 29163077 2011-05-03  
求分页~~~
22 楼 sarin 2011-05-02  
我整合了一个Spring3和iBatis2,顺带做了分页。
呵呵。
21 楼 summerfeel 2011-04-29  
dsjt 写道
iBatis 更名为 MyBatis 是不是为了与 Spring 整合时形成 SM 组合呢?

20 楼 liuyiqi2008 2011-04-28  
查到将mapper修改成如下也可以搞定:
<mapper namespace="org.hyn.maper.UserMapper">  
    <insert id="insert" parameterType="org.hyn.bean.User">  
        insert into author(name,age) values(#{name},#{age})   
    </insert>  
    <selectKey keyProperty="id" resultType="long"> 
        <![CDATA[
            SELECT @@IDENTITY AS ID 
        ]]>
    </selectKey>
</mapper>

参考了 www.codegene.net 在线生成Spring/Struts/MyBatis架构全套应用程序。
19 楼 hyneng 2011-04-28  
dsjt 写道
iBatis 更名为 MyBatis 是不是为了与 Spring 整合时形成 SM 组合呢?

应该是MyBatis脱离了apache后改名了吧
18 楼 chan.d 2011-04-28  
sniciq 写道
caoyangx 写道
又见整合!

什么整合不整合的,只不过是用spring管理了下BEAN而已,不要整天拿整合说事好不!


这样说话,显得很白痴。
17 楼 dsjt 2011-04-28  
iBatis 更名为 MyBatis 是不是为了与 Spring 整合时形成 SM 组合呢?
16 楼 glamey 2011-04-28  
liuyiqi2008 写道
好例子!!!

请问如何才能得到添加记录"张三"的ID值? 能在插入时直接回填ID吗?


可以的,只用在xml中配置下就行了。
15 楼 hyneng 2011-04-28  
chat 写道
这个例子不完整,事物/使用什么jar都没有提,就不要丢出来了

我们使用spring3 rest/mvc ,mybaits几个月了,都觉得自己做的还不够好

如果对你没用,就不用看,我丢出来害到你了??
14 楼 chat 2011-04-28  
这个例子不完整,事物/使用什么jar都没有提,就不要丢出来了

我们使用spring3 rest/mvc ,mybaits几个月了,都觉得自己做的还不够好
13 楼 chat 2011-04-28  
<insert id="Adgroup.insert" parameterType="Adgroup" useGeneratedKeys="true" keyProperty="id">

这样insert后,直接使用Adgroup.getId()即可,很简单
12 楼 hyneng 2011-04-28  
sniciq 写道
caoyangx 写道
又见整合!

什么整合不整合的,只不过是用spring管理了下BEAN而已,不要整天拿整合说事好不!

不好意思,这是我的学习笔记,如果不适合你就不用看了,这是一个分享知识的平台,大家挑自己喜欢的看
11 楼 sniciq 2011-04-28  
caoyangx 写道
又见整合!

什么整合不整合的,只不过是用spring管理了下BEAN而已,不要整天拿整合说事好不!
10 楼 hyneng 2011-04-28  
dongcb678 写道
官方的文档讲的已经蛮清楚了

是的,官网的资料已经很全了,这只是我的学习笔记
9 楼 caoyangx 2011-04-28  
又见整合!
8 楼 8830417 2011-04-28  
想问下只用接口的时候,分页怎么处理比较好
7 楼 dongcb678 2011-04-28  
官方的文档讲的已经蛮清楚了
6 楼 oojdon 2011-04-28  
我用Mybatis+Spring3遇到过灵异事件

相关推荐

    MyBatis(iBatis 3)入门示例 及 整合Mybatis与Spring3

    整合MyBatis与Spring的过程主要包括以下几个步骤: 1. 添加依赖:首先,你需要在项目的Maven或Gradle配置文件中添加MyBatis和Spring的相关依赖库。 2. 配置MyBatis:创建MyBatis的配置文件(mybatis-config.xml)...

    mybatis与spring整合的全部jar包

    在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常有帮助。下面我们将详细探讨这些jar包在SSM整合中的作用以及相关知识点。 1. **Spring框架**: Spring是...

    Mybatis与Spring整合所需的jar包

    mybatis与spring整合时所依赖的jar包,包括: ...3.Mybatis与Spring整合所需中间件: mybatis-spring-1.3.1.jar mysql-connector-java-5.1.45-bin.jar commons-dbcp2-2.2.0.jar commons-pool2-2.5.0.jar

    mybatis-spring 整合jar包

    mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1

    mybatis与spring整合全部jar包

    这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...

    MyBatis整合Spring中间件jar包 mybatis-spring-1.3.0.jar

    MyBatis-Spring是MyBatis与Spring框架的整合组件,其主要目的是简化在Spring应用中集成MyBatis的过程,使两者能够无缝协作。mybatis-spring-1.3.0.jar是这个中间件的特定版本,包含了实现这种集成所需的所有类和资源...

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    **Spring整合Mybatis原理分析** 在Java Web开发中,Spring框架以其强大的依赖注入和面向切面编程能力,成为了事实上的核心框架。Mybatis则是一个轻量级的持久层框架,它简化了数据库操作,提供了直观的SQL映射。将...

    spring_mybatis 整合jar包

    3. MyBatis-Spring整合库:mybatis-spring。 4. 数据库驱动:如mysql-connector-java(对于MySQL)、ojdbc(对于Oracle)等。 5. 其他依赖库:如log4j或slf4j用于日志记录,asm、cglib等用于AOP代理。 整合过程大致...

    mybatis-spring 整合包

    MyBatis-Spring 整合包是专门为将MyBatis持久层框架与Spring应用框架集成而设计的一个组件。这个包的出现旨在简化MyBatis在Spring环境中的配置和使用,使得开发者可以充分利用两者的优点,实现更加灵活和方便的数据...

    mybatis-spring-1.31.jar

    MyBatis-Spring 1.3.1.jar是MyBatis与Spring框架深度整合的一个重要组件,它允许开发者在Spring环境下无缝地使用MyBatis。这个版本是官方发布的最新稳定版,经过实际测试,确保了其稳定性和兼容性。 MyBatis-Spring...

    mybatis与spring整合全部jar包,

    mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,

    整合mybatis和spring mvc

    整合MyBatis和Spring MVC的步骤如下: 1. **配置环境**:确保项目中已经包含了MyBatis和Spring MVC的依赖库,通常通过Maven或Gradle来管理。 2. **创建MyBatis配置**:在`mybatis-config.xml`中定义数据源、事务...

    Spring3+springmvc+mybatis三大整合

    在"Spring3+SpringMVC+MyBatis"的整合过程中,通常会使用Spring的ApplicationContext来加载配置,管理所有组件。SpringMVC的配置需要定义DispatcherServlet,配置视图解析器如InternalResourceViewResolver,以及...

    mybatis与spring整合全部jar包(包括springmvc

    3. **Spring与MyBatis整合**:整合MyBatis和Spring主要是为了利用Spring的IoC容器管理MyBatis的SqlSessionFactory和SqlSessionTemplate,以及Mapper接口和Mapper XML文件。通过Spring的`SqlSessionFactoryBean`和`...

    Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程

    Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 详细教程 本教程主要介绍了 Spring3 整合 MyBatis3 配置多数据源动态选择 SqlSessionFactory 的详细教程。下面将详细介绍如何实现 Spring 整合 ...

    mybatis-spring-1.3.3.jar官方下载

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...

    mybatis-spring-1.3.0.jar 下载

    在Java开发领域,MyBatis和Spring框架的结合使用是常见的实践,它们的整合使得数据访问层的构建更为便捷和灵活。本篇文章将围绕"mybatis-spring-1.3.0.jar"这一组件展开,详细讲解其在实际项目中的作用、功能以及...

    spring整合Mybatis

    本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关技术点。 首先,Spring框架是一个开源的应用程序框架,它简化了Java EE应用的开发,提供了依赖注入(DI)和面向切面编程(AOP)等功能。在...

    mybatis与spring整合依赖包集

    整合MyBatis与Spring,通常需要以下步骤: 1. 在Spring配置文件中配置数据源(dbcp)。 2. 配置MyBatis的SqlSessionFactory,指定配置文件路径及数据源。 3. 创建MyBatis的Mapper接口,编写对应的XML映射文件。 4. ...

Global site tag (gtag.js) - Google Analytics