Springboot整合Mybatis
- 项目结构展示
注意Application.java放的位置
- 环境配置
<!--web层-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--数据库-->
<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>2.1.3</version>
</dependency>
<!-- ThymeLeaf 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
- 实体类配置
// 加上此注解Mapper.xml加载别名时不会报红色
@Alias("user")
public class User implements Serializable {
private Integer id;// 编号
private String username;// 姓名
public User() {
}
public User(Integer id, String username) {
this.id = id;
this.username = username;
}
}
- application.propertities/yaml配置
# 开启数据库(最新版数据库serverTimezone问题)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/xxx?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
# 配置Mybatis
# 实体类别名配置
mybatis.type-aliases-package=com.carter.pojo
mybatis.mapper-locations=classpath:mapper/**/*.xml
# 开启MyBatis Log Plugin插件的sql语句打印
logging.level.com.carter.mapper=debug
- Controller/web层的配置
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/index")
@ResponseBody // 作用:返回json格式的数据
public List<User> queryUsers(){
List<User> users = userService.queryUsers();
return users;
}
@RequestMapping("/hello")
public String sayHello(){
// 跳转到:templates/index.html
return "index";
}
}
- Service业务层的配置
/*这是个Service接口类*/
public interface UserService {
public List<User> queryUsers();
}
/*这是Service的实现类*/
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> queryUsers() {
return userMapper.queryUsers();
}
}
- Mapper/Dao层配置
@Repository
@Mapper // 类Appplication.java将可以不需要对Mapper包进行注解扫描
public interface UserMapper {
List<User> queryUsers();
}
- Mapper.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.carter.mapper.UserMapper">
<!--没使用别名-->
<select id="queryUsers" resultType="com.carter.pojo.User">
select * from user
</select>
<!--使用别名-->
<!--<select id="queryUsers" resultType="user">-->
<!-- select * from user-->
<!--</select>-->
</mapper>
恭喜!你已经掌握了Springboot基本的配置,接下来的你也会顺风顺水