Spring风格的Mybatis笔记

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中包含一下:

    
        
            
            
                src/main/java
                
                    **/*.xml
                
            
        
    

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笔记)