Integrate SpringBoot with MyBatis.
1 Build a SpringBoot Project
1.1 Spring Initializer

1.2 Select what you need





2 Integrate MyBatis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| server: port: 8081
spring: devtools: restart: enabled: true
datasource: url: jdbc:mysql://localhost:3306/boot_test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 123456
mybatis: type-aliases-package: my.space.demo.pojo mapper-locations: classpath:mapper/*Mapper.xml
|
分别配置了数据源,和mybatis的类型aliases,以及mapper.xml的映射文件地址。
2.1 Scan Mappers
1
| @MapperScan(value = "my.space.demo.dao")
|
2.2 Configurate a mapper Bean
1 2 3 4
| @Repository public interface UserMapper { List<User> queryAll(); }
|
2.3 Mapper.xml
1 2 3 4 5 6 7 8 9
| <?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="my.space.demo.dao.UserMapper"> <select id="queryAll" resultType="user"> select * from user </select> </mapper>
|
3 JUnit Test
1 2 3 4 5 6 7 8 9 10 11 12 13
| @RunWith(SpringRunner.class) @SpringBootTest(classes = DemoApplication.class) public class UserMapperTest {
@Autowired private UserMapper userMapper;
@Test public void queryAll() throws Exception { List<User> users = userMapper.queryAll(); users.forEach(System.out::println); } }
|
Spring 将Mapper自动装配,装配后直接使用。
4 Final