摘要采用的是注解模式
1.pom依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
2.application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/liu
spring.datasource.username=username
spring.datasource.password=pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.数据表结构
4.java类
User.java
@Component
public class User {
private String name;
private int age;
// get set 省略....
}
UserMapper.java ,这里提醒的是,记得加上 @Mapper 注解
@Mapper
public interface UserMapper {
@Select("select * from user where id = #{id}")
User getUsers(int id);
}
接下来是测试,配置已基本差不多,为了方便测试,这里说一下 spring boot 的CommandLineRunner,实现这个接口,在你启动项启动时,就会自动执行 run方法,如下
StartRun2.java
由于我数据库有2条数据,所以 查询id=1 的user用户
@Component
@Order(1)
@MapperScan("sample.mybatis.mapper")
public class StartRun2 implements CommandLineRunner{
@Autowired
UserMapper userMapper;
@Override
public void run(String... strings) throws Exception {
User users = userMapper.getUsers(1);
System.out.println("users:"+users);
}
}
上面 @MapperScan 是扫描 @Mapper注解的
@Order(1) 是标记执行的顺序(可以写多个CommandLineRunner)
最后启动
Application.java
@SpringBootApplication
public class Application {
public static void main(String args[]) {
SpringApplication.run(Application.class, args);
}
}
控制台信息如下
图上看出,测试成功,底下 @Order(2) 执行在后面