2. SpringBoot整合Mybatis
阿新 • • 發佈:2021-10-08
本章內容基於SpringBoot入門:https://www.cnblogs.com/forelim/p/15379580.html
SpringBoot整合Mybatis
-
匯入依賴
<!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> <!-- mybatis啟動器 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <!-- 測試 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <!-- 分頁外掛 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency>
-
載入配置 application.yml
# 埠號 server: port: 8080 # 資料來源 spring: datasource: # 驅動 driver-class-name: com.mysql.cj.jdbc.Driver # 路徑 url: jdbc:mysql://localhost:3306/demo?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai # 使用者名稱 username: root # 密碼 password: mysql # mybatis配置 mybatis: configuration: # 日誌 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 下劃線轉駝峰 map-underscore-to-camel-case: true # 別名包 type-aliases-package: com.demo.entity # 對映檔案位置 mapper-locations: classpath:mapper/*.xml # 分頁外掛 pagehelper: # 資料庫 helper-dialect: mysql # 合理化 reasonable: true # 支援通過方法傳遞引數 support-methods-arguments: true # 引數 params: count==countSql # 傳入0時顯示全部資料 page-size-zero: true
-
Entity & Mapper
public class Demo { private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
import com.demo.entity.Demo; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper // 如果mapper介面過多 可以在主啟動類上加上@MapperScanner("mapper介面包") 代替 @Mapper註解 public interface DemoMapper { /** * 查詢全部 * @return 列表 */ List<Demo> list(); }
<?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.demo.mapper.DemoMapper"> <select id="list" resultType="demo"> select id, name, age from t_demo </select> </mapper>
-
測試類
import com.demo.entity.Demo; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest public class DemoMapperTest { /** * 自動織入mapper介面 */ @Autowired private DemoMapper demoMapper; @Test void list() { // 分頁 PageHelper.startPage(1,2); // 呼叫 List<Demo> list = demoMapper.list(); // 封裝分頁物件 PageInfo<Demo> demoPageInfo = new PageInfo<>(list); } }
-
成功!