1. 程式人生 > 其它 >SpringBoot整合Mybatis SpringBoot專案的建立Mybatis的使用

SpringBoot整合Mybatis SpringBoot專案的建立Mybatis的使用

首先,我們需要先建立一個SpringBoot專案,可參考我之前編寫的SpringBoot專案的建立

1.匯入相關依賴包

在建立SpringBoot專案的時候其實就可以選擇相關依賴包進行匯入

<!--引入 mybatis-spring-boot-starter 的依賴-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>
2.2.0</version> </dependency> <!-- MySQL驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.3</version> </dependency> <!-- lombok外掛 --> <dependency> <groupId>org.projectlombok</
groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> </dependency>

2.建立Mybatis配置檔案

本文不使用application.properties檔案 而使用更加簡潔的application.yml檔案。將resource資料夾下原有的application.properties檔案刪除,建立application.yml配置檔案(備註:其實SpringBoot底層會把application.yml檔案解析為application.properties)

application.yml

在Spring Boot中多環境配置檔名需要滿足application-{profile}.yml的格式,其中{profile}對應你的環境標識,比如:

application-dev.yml:開發環境
application-test.yml:測試環境
application-prod.yml:生產環境

至於哪個具體的配置檔案會被載入,需要在application.yml檔案中通過spring.profiles.active屬性來設定,其值對應{profile}值,所以下方我們配置所載入的檔案就是application-dev.yml檔案

spring:
  profiles:
    active: dev

application-dev.yml

這裡就頂替了我們之前Mybatis的使用中的mybatis-config.xml檔案

server:
  port: 8080

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.111.131:3306/mybatis?characterEncoding=UTF-8
    driver-class-name: com.mysql.jdbc.Driver

mybatis:
  #指定mapper.xml的位置
  mapper-locations: classpath:mappers/*.xml
  #掃描實體類的位置,在此處指明掃描實體類的包
  type-aliases-package: com.chen.springboot

3.建立實體類

該地方我們使用的是Lombok配置實體類,可以通過Lombok的配置使用對其進行了解

@Data
public class User {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private String sex;
    private String email;
}

4.建立Mapper介面

@Repository
@Mapper
public interface UserMapper {
    List<User> getUser();
}

5.建立 Mapper 對映檔案

命名規則:表所對應的實體類的類名+Mapper.xml

MyBatis對映檔案存放的位置是src/main/resources/mappers目錄下

注:mapper介面的全類名和對映檔案中的名稱空間(namespace)保持一致。

1.id就是對應的namespace中的方法

2.resultType為sql執行的返回值

3.parameterType為引數型別

<?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.springboot.mapper.UserMapper">

    <select id="getUser" resultType="com.chen.springboot.pojo.User">
        select * from t_user
    </select>
    
</mapper>

6.建立service介面及其實現類

UserService 

public interface UserService {
    public List<User> getUser();
}

UserServiceImpl 

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserMapper userMapper;

    @Override
    public List<User> getUser() {
        List<User> userList = userMapper.getUser();
        return userList;
    }
}

7.建立控制層

@RestController
@RequestMapping("/testBoot")
public class LoginController {
    @Autowired
    UserService userService;

    @RequestMapping("/getUser")
    public String getUser(){
        return userService.getUser().toString();
    }
}

啟動專案後,訪問http://localhost:8080/testBoot/getUser檢視到我們SQL執行結果即可