美文网首页
Spring风格的Mybatis笔记

Spring风格的Mybatis笔记

作者: 何狗带 | 来源:发表于2018-03-06 23:13 被阅读0次

    1.前提准备(新建一个maven项目)

    依赖
    spring相关包

    spring-beans, spring-context, spring-jdbc,spring-test
    

    mybatis包

    mybatis,mybatis-spring
    

    jdbc驱动包

    mysql-connector-java
    

    junit测试包

    junit
    

    dbcp数据源

    commons-dbcp
    

    数据源配置
    mysql中新建表

    CREATE DATABASE test;
    CREATE TABLE `userinfo` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `username` varchar(20) NOT NULL,
      `password` varchar(50) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`username`)
    ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8
    

    配置文件mysql.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
    jdbc.username=root
    jdbc.password=12345678
    

    2.使用mybatis-spring

    流程
    1)注册sqlSessionFactory bean,属性有数据源,mybatis配置,映射xml文件
    2)注册MapperScannerConfigurer匿名bean,绑定mapper包下的类,用于Service中自动注解
    3)Service包下的类声明一个mapper私有变量,注解@Autowired即可使用mapper的方法
    4)在Test包下创建一个类,注解@RunWith(SpringJUnit4ClassRunner.class)并加载声明bean的xml文件,然后进行测试
    分层结构

    mybatisSpring.PNG

    domain
    这个包下的类的属性对应数据表中的属性,getter,setter,用于映射
    mapper
    这个包下的是映射配置。UserMaper是一个接口,里面声明你需要对某个数据库表的增删查改方法。UserMapper.xml则是配置接口中方法的实现。
    深入了解:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html
    service
    服务包,实现业务需求
    Test
    用于测试Service
    application-Context.xml
    声明 sqlSessionFactory bean,自动扫描servce下的类并注册bean,将mapper下的接口转换成bean,事务管理器配置

    3.注意事项

    java编译时默认忽略掉java文件夹的非java文件,因此,mapper下映射配置表xml文件会出现无法找到的情况,因此在pom.xml中包含一下:

        <build>
            <resources>
                <!--编译java下的xml文件使mybatis配置文件能找到-->
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
            </resources>
        </build>
    

    4.运行

    在Test下写好方法,方法上注解@Test,在运行该方法,查看数据库变化即可。

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = {"classpath:applicationContext-mybatis.xml"})
    public class TestClass {
       @Autowired
       private UserService userService;
    
       @Test
       public void test1(){
           System.out.println(userService.getUserByName("hegoudai").toString());
       }
    
       @Test
       public void testInsert(){
           UserBean user = new UserBean();
           user.setPassword("1111111");
           user.setUsername("hegoudai2");
           userService.insertUser(user);
       }
    }
    

    源码:https://github.com/hegoudai/Learning-Spring/tree/master/mybatis-springstyle

    相关文章

      网友评论

          本文标题:Spring风格的Mybatis笔记

          本文链接:https://www.haomeiwen.com/subject/cbkdfftx.html