文章目錄
Spring Boot整合MyBaits
在數據庫中創建一個User表
1、新建一個Spring Boot項目
如何使用IDEA搭建一個Spring Boot項目,見上篇博客。
2、在pom.xml中引入相關依賴
<!-- mysql數據庫驅動 -->
<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.1</version>
</dependency>
3、搭建項目結構
- 編寫pojo層:
@Data //使用Data保證自己的依賴中有lombok
public class User {
private int id;
private String name;
private String password;
}
- 編寫mapper層:
注意:需要使用@Mapper註解,不然SpringBoot無法掃描
@Mapper
@Repository //代表持久層
public interface UserMapper {
//@Select("select * from user") 使用註解就不需要配置.xml
List<User> getUserList();
}
<?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.chen.mapper.UserMapper">
<select id="getUserList" resultType="User">
select * from user;
</select>
</mapper>
編寫了.xml文件後,需要在pom.xml的<build> </build>
l裏面設置資源過濾,原因:springboot沒有設置.xml文件的資源過濾
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
- 編寫controller層:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@RequestMapping("/select")
public List<User> getUserList(){
List<User> userList = userMapper.getUserList();
return userList;
}
}
4、編寫配置文件
1)使用application.properties編寫配置文件
屬於傳統的配置文件:key=value
# 這裏編寫SpringBoot的配置
# 更改端口號
server.port=9090
# mybatis相關的
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 注意:mysql5、8是不同的寫法:
# mysql5:com.mysql.jdbc.Driver
# mysql8:com.mysql.cj.jdbc.Driver
2)推薦使用application.yml編寫配置文件
.yml文件,對空格、縮進嚴格要求:
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8
driver-class-name: com.mysql.cj.jdbc.Driver
#mybatis的相關配置
mybatis:
type-aliases-package: com.chen.pojo
mapper-locations: classpath:com/chen/mapper/*.xml
5、啓動主啓動類,測試結果
//下篇再見…謝謝