Spring Boot整合Mybatis
场景: spring boot项目整合mybatis ,并连接MySQL数据库
1.添加依赖
添加两个依赖:
1.mysql-connector-java 连接MySQL数据库;
2. mybatis-spring-boot-starter spring boot项目中导入mybatis 所需依赖
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
2.配置yml 文件
注意: 在上面我应用的mybatis依赖是1.3.2 版本,是最新的版本。在配置driver-class-name: com.mysql.cj.jdbc.Driver 时。需要添加cj,不然报错。
spring:
#配置数据库
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
#实体扫描,多个用逗号或分号分开
type-aliases-package: com.lixu.praticedemo
3.测试
server,dao层都是简单的调用不展示,注意要应用@service,@mapper的注解。
1.Controller层
@Controller
@RequestMapping(value = "user")
public class UserController {
@Autowired
UserService userService;
@RequestMapping(value = "allUser", method = {RequestMethod.POST,RequestMethod.GET})
@ResponseBody
public void queryAllUser(){
List<User> userList = userService.queryAllUser();
for (User myUser: userList){
System.out.println(myUser);
}
}
}
2.Mapper 的 UserMapper.xml
<?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.lixu.practicedemo.mybatisconndatabase.domain.UserDao">
<resultMap id="queryUserList" type="com.lixu.practicedemo.mybatisconndatabase.entity.User">
<result column="id" jdbcType="INTEGER" property="id" />
<result column="age" jdbcType="INTEGER" property="age" />
<result column="username" jdbcType="VARCHAR" property="userName" />
<result column="password" jdbcType="VARCHAR" property="password" />
</resultMap>
<select id="queryAllUser" resultMap="queryUserList">
select * from user
</select>
</mapper>
注意:
-
column 对应数据库列字段,jdbcType 数据库类型,property对应实体类User
-
resultMap 的id 对应 resultMap=“queryUserList”
-
查看结果
数据库表:
运行结果: