日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot2.x-07Spring Boot2.1.2整合Mybatis

發布時間:2025/3/21 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot2.x-07Spring Boot2.1.2整合Mybatis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 概述
  • 搭建Spring Boot工程 Version 2.1.2.RELEASE
  • application.yml 數據庫的配置
  • 集成Mybatis
    • Step1 添加依賴mybatis- spring-boot- starter
    • Step2 庫表及domain類
    • Step3 添加ArtisanMapper接口
    • Step4 添加SQL映射文件
    • Step5 application.yml中配置mybatis
    • Step6 Service層編寫
    • Step7 約定后臺返回規范(可省略)
    • Step8 Controller編寫
    • Step9 測試
  • 代碼

概述

廢話不多說了,直接擼吧 ,先看看整體的結構 【 Spring Boot 2.1.2 , MyBatis 1.3.2 , Mysql 8.0.13 】


搭建Spring Boot工程 Version 2.1.2.RELEASE

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.2.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>com.artisan</groupId><artifactId>springbootMybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>springbootMybatis</name><description>Artisan </description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!-- spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 對JDBC數據庫的支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- mysql的驅動 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- mybatis的starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!-- 消除 Java 的冗長 ,優雅的編程 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--開發環境熱部署插件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><!-- 測試 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

pom中每個jar包都加了注釋,這里就不啰嗦了。


application.yml 數據庫的配置

# datasource spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driver # JDBC連接Mysql6以上com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/artisan?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=falseusername: rootpassword: root

通過上面的屬性配置數據庫的連接信息后, Spring Boot 就可以自動配置數據源了


集成Mybatis

Step1 添加依賴mybatis- spring-boot- starter

剛才的pom中已經有了,如下

<!-- mybatis的starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency>

Step2 庫表及domain類

為了方便演示,新建庫表和對應的實體類

-- ---------------------------- -- Table structure for artisan -- ---------------------------- DROP TABLE IF EXISTS `artisan`; CREATE TABLE `artisan` (`id` int(9) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NULL,`sex` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of artisan -- ---------------------------- INSERT INTO `artisan` VALUES ('1', 'artisan', '男'); INSERT INTO `artisan` VALUES ('2', '程序媛', '女'); INSERT INTO `artisan` VALUES ('3', '周杰倫', '男'); INSERT INTO `artisan` VALUES ('4', '小籠包', '女'); INSERT INTO `artisan` VALUES ('5', '巨石強森', '男');

com.artisan.model包下新建Artisan實體類

package com.artisan.model;import lombok.Data;/*** * @author yangshangwei* * lombok的注解 @Data 注解在類上 提供類所有屬性的 getting 和 setting 方法,* 此外還提供了equals、canEqual、hashCode、toString 方法**/ @Data public class Artisan {private Long id;private String name;private String sex;}

Step3 添加ArtisanMapper接口

com.artisan.mapper包下新建接口 ArtisanMapper

package com.artisan.mapper;import java.util.List;import org.apache.ibatis.annotations.Mapper;import com.artisan.model.Artisan; /*** * @author yangshangwei* * 增加@Mapper這個注解之后,Spring 啟動時會自動掃描該接口,這樣就可以在需要使用時直接注入 Mapper 了*/@Mapper public interface ArtisanMapper {/*** 查詢全部數據*/List<Artisan> selectArtisan();}

使用了@ Mapper 注解, 增加這個注解之后,Spring 啟動時會自動掃描該接口,這樣就可以在需要使用時直接注入 Mapper 了


Step4 添加SQL映射文件

在 src/main/resources下面創建mapper目錄,然后新建 ArtisanMapper.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接口和XML文件關聯的時候, namespace的值就需要配置成接口的全限定名稱 --> <mapper namespace="com.artisan.mapper.ArtisanMapper"><select id="selectArtisan" resultType="Artisan"> <!-- resultType可以不用寫全,與application.yml中的type-aliases-package屬性組合使用 -->select id , name ,sex from artisan</select> </mapper>

Step5 application.yml中配置mybatis

增加如下Mybatis的配置

#mybatis mybatis:# 映射文件的路徑 ,支持 Ant 風格的通配符, 多個配置可以使用英文逗號隔開mapper-locations: classpath:mapper/*.xml # 類型別名包畫配置,只能指定具體的包,多個配置可以使用英文逗號隔開type-aliases-package: com.artisan.model# Mybatis SQL語句控制臺打印configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

Step6 Service層編寫

接口和實現類

package com.artisan.service;import java.util.List;import com.artisan.model.Artisan;public interface ArtisanService {List<Artisan> getArtisanList(); } package com.artisan.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import com.artisan.mapper.ArtisanMapper; import com.artisan.model.Artisan; import com.artisan.service.ArtisanService;@Service public class ArtisanServiceImpl implements ArtisanService {@Autowiredprivate ArtisanMapper artisanMapper;@Overridepublic List<Artisan> getArtisanList() {return artisanMapper.selectArtisan();}}

Step7 約定后臺返回規范(可省略)

使用泛型封裝下返回結果,見注釋。 第二個包裝類CodeMsg 用了lombok的注解,可以不用。Result沒用,僅僅是演示下。。。

package com.artisan.result;public class Result<T> {private int code;private String msg;private T data;/*** 成功時候的調用* */public static <T> Result<T> success(T data){return new Result<T>(data);}/*** 失敗時候的調用* */public static <T> Result<T> error(CodeMsg cm){return new Result<T>(cm);}private Result(T data) {this.code = 0;this.msg = "success";this.data = data;}private Result(CodeMsg cm) {if(cm == null) {return;}this.code = cm.getCode();this.msg = cm.getMsg();}public int getCode() {return code;}public String getMsg() {return msg;}public T getData() {return data;} } package com.artisan.result;import lombok.Getter;public class CodeMsg {@Getterprivate int code;@Getterprivate String msg;// 通用異常public static CodeMsg SUCCESS = new CodeMsg(0, "success");public static CodeMsg SERVER_ERROR = new CodeMsg(-1, "服務端異常");private CodeMsg(int code, String msg) {this.code = code;this.msg = msg;}}

Step8 Controller編寫

package com.artisan.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import com.artisan.model.Artisan; import com.artisan.result.CodeMsg; import com.artisan.result.Result; import com.artisan.service.ArtisanService;@RestController public class ArtisanController {@Autowiredprivate ArtisanService artisanService;@GetMapping("/test")public String test() {return "artisan test";}// 正常情況@GetMapping("/artisans")public Result<List<Artisan>> selectAllArtisan() {return Result.success(artisanService.getArtisanList());}// 模擬異常情況@GetMapping("/artisansError")public Result<List<Artisan>> selectAllArtisanError() {return Result.error(CodeMsg.SERVER_ERROR);}}

Step9 測試

比較簡單,各層的單元測試就不寫了,直接啟動測試吧

啟動spring boot 工程

訪問 http://localhost:8080/artisans


日志:

訪問 http://localhost:8080/artisansError


代碼

https://github.com/yangshangwei/springbootMybatis

總結

以上是生活随笔為你收集整理的Spring Boot2.x-07Spring Boot2.1.2整合Mybatis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。