SpringBoot集成MyBatis的相关步骤如下:
1. 引入依赖
<!--整合mybatis 注意不要使用1.0.0版本,因为不支持springboot的热部署也不支持springboot部署成jar包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
说明:由于springboot整合mybatis版本中默认依赖mybatis 因此不需要额外引入mybati版本,否则会出现冲突
2. 配置配置文件(application.yml中)
spring:
mvc:
view:
prefix: /
suffix: .jsp
datasource:
type: org.apache.commons.dbcp.BasicDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/cmfz
username: root
password: root
3 .加入mybatis配置(application.yml中)
mybatis:
mapper-locations: classpath:com/baidu/mapper/*.xml
type-aliases-package: com.baidu.entity
@SpringBootApplication
@MapperScan("com.baidu.dao")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
4. 建表
CREATE TABLE `t_clazz` (
`id` varchar(40) NOT NULL,
`name` varchar(80) DEFAULT NULL,
`no` varchar(90) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5.开发实体类
public class Clazz {
private String id;
private String name;
private String no;
}
6. 开发DAO接口以及Mapper
public interface ClazzDAO {
List<Clazz> findAll();
}
<?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="com.baizhi.dao.ClazzDAO">
<select id="findAll" resultType="Clazz">
select * from t_clazz
</select>
</mapper>
7. 开发Service以及实现
public interface ClazzService {
List<Clazz> findAll();
}
@Service
@Transactional
public class ClazzServiceImpl implements ClazzService {
@Autowired
private ClazzDAO clazzDAO;
@Transactional(propagation = Propagation.SUPPORTS)
@Override
public List<Clazz> findAll() {
return clazzDAO.findAll();
}
}
8. 引入测试依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
9. 编写测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class TestClazzService {
@Autowired
private ClazzService clazzService;
@Test
public void test(){
List<Clazz> all = clazzService.findAll();
for (Clazz clazz : all) {
System.out.println(clazz);
}
}
}