博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring整合MyBatis
阅读量:5319 次
发布时间:2019-06-14

本文共 2407 字,大约阅读时间需要 8 分钟。

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"  
        ""> 
 
<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("添加成功"); 
    } 

转载于:https://www.cnblogs.com/forestwolf/archive/2013/02/20/2918699.html

你可能感兴趣的文章
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
Atitit.进程管理常用api
查看>>
构建自己的项目管理方案
查看>>