Spring Boot整合MyBatis-Flex全過程
說明:MyBatis-Flex(官網地址:https://mybatis-flex.com/),是一款數據訪問層框架,可實現(xiàn)項目中對數據庫的訪問,類比MyBatis-Plus。
本文介紹,在Spring Boot項目整合MyBatis-Flex。
創(chuàng)建項目
首先,創(chuàng)建一個Spring boot項目,pom.xml文件內容如下
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.12</version> <relativePath/> </parent> <groupId>com.hezy</groupId> <artifactId>mybatis-flex-demo</artifactId> <version>1.0-SNAPSHOT</version> <name>Archetype - mybatis-flex-demo</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> </dependencies> </project>
創(chuàng)建一個實體類對象,User,如下:
import lombok.Data; import java.io.Serializable; @Data public class User implements Serializable { private static final long serialVersionUID = 1L; private Long id; private String username; private String password; }
創(chuàng)建一個接口,如下:
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @GetMapping("/hello") public String hello() { return "hello"; } }
application.yml,配置文件如下:
server: port: 8080 spring: datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/demo username: postgres password: 123456
啟動項目,測試,沒得問題
整合MyBatis-Flex
引入下面這兩個依賴;
<dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-spring-boot-starter</artifactId> <version>1.9.3</version> </dependency> <dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-processor</artifactId> <version>1.9.3</version> <scope>provided</scope> </dependency>
在實體類上關聯(lián)表,包括實體類對應的表名,以及對應的字段,像主鍵、別名(如果有)等;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Table; import lombok.Data; import java.io.Serializable; @Data @Table("tb_user") public class User implements Serializable { private static final long serialVersionUID = 1L; @Id private Long id; private String username; private String password; }
創(chuàng)建數據訪問層對象,可繼承MyBatis-Flex提供的接口,并指定泛型為當前操作的實體類對象
import com.hezy.pojo.User; import com.mybatisflex.core.BaseMapper; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper extends BaseMapper<User> { }
創(chuàng)建一個接口,根據ID查詢User,可直接調用MyBatis-Flex提供的相關API,如下:
@Autowired private UserMapper userMapper; @GetMapping("/getUser/{id}") public User getUserById(@PathVariable("id") Integer id) { return userMapper.selectOneById(id); }
一般來說,還需要Services過一層,校驗參數等,這里是是一個Demo。數據庫內容如下:
啟動項目,調用接口,如下,查詢完成
總結
本文介紹了如何在Spring Boot項目中整合MyBatis-Flex,當然,MyBatis-Flex還提供了許多數據訪問的API,以及擴展功能,如多數據源訪問、數據庫配置加密、多租戶、讀寫分離等等,可在官網上學習。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何解決java.util.concurrent.CancellationException問題
這篇文章主要介紹了如何解決java.util.concurrent.CancellationException問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05nacos gateway動態(tài)路由實戰(zhàn)
這篇文章主要介紹了nacos gateway動態(tài)路由實戰(zhàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09ZooKeeper官方文檔之Java客戶端開發(fā)案例翻譯
網上有很多ZooKeeper的java客戶端例子,我也看過很多,不過大部分寫的都不好,有各種問題。兜兜轉轉還是覺得官方給的例子最為經典,在學習之余翻譯下來,供朋友們參考2022-01-01springBoot 插件工具熱部署 Devtools的步驟詳解
這篇文章主要介紹了springBoot 插件工具 熱部署 Devtools,本文分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10