SpringBoot配置MyBatis-Plus實現增刪查改
MyBatis-Plus (opens new window)(簡稱 MP)是一個MyBatis (opens new window)的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。
特性:
(1)無侵入:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑。
(2)損耗小:啟動即會自動注入基本 CURD,性能基本無損耗,直接面向對象操作。
(3)強大的 CRUD 操作:內置通用 Mapper、通用 Service,僅僅通過少量配置即可實現單表大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求。
(4)支持 Lambda 形式調用:通過 Lambda 表達式,方便的編寫各類查詢條件,無需再擔心字段寫錯。
(5)支持主鍵自動生成:支持多達 4 種主鍵策略(內含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題。
(6)支持 ActiveRecord 模式:支持 ActiveRecord 形式調用,實體類只需繼承 Model 類即可進行強大的 CRUD 操作。
(7)支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )。
(8)內置代碼生成器:采用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用。
(9)內置分頁插件:基于 MyBatis 物理分頁,開發者無需關心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢。
(10)分頁插件支持多種數據庫:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數據庫。
(11)內置性能分析插件:可輸出 SQL 語句以及其執行時間,建議開發測試時啟用該功能,能快速揪出慢查詢。
(12)內置全局攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作。
2 Maven依賴<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><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency>3 Spring Boot配置
#數據庫連接池設置spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=123456 #mybatis的相關配置mybatis.mapper-locations=classpath:mapper/*.xml4 UserEntity
用戶信息實體類。
package com.entity; import com.baomidou.mybatisplus.annotation.*;import lombok.Data; /** * 用戶信息實體類 */@Data@TableName('users')public class UserEntity { /** * 用戶名 */ @TableField('username') @TableId private String username; /** * 昵稱 */ @TableField('pickname') private String pickname; /** * 密碼 */ @TableField('password') private String password; /** * 性別 */ @TableField('sex') private String sex;}5 UserMapper
用戶信息dao層。
package com.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.entity.UserEntity;import org.apache.ibatis.annotations.Mapper; /** * 用戶信息dao層 */@Mapperpublic interface UserMapper extends BaseMapper<UserEntity> {}6 Service(業務邏輯層)6.1 UserService
package com.service; import com.baomidou.mybatisplus.extension.service.IService;import com.entity.UserEntity; public interface UserService extends IService<UserEntity> {}6.2 UserServiceImpl
package com.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.entity.UserEntity;import com.mapper.UserMapper;import com.service.UserService;import org.springframework.stereotype.Service; @Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper,UserEntity> implements UserService {}7 UserController
調試代碼。
package com.controller; import com.entity.UserEntity;import com.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*; import java.util.List; @RestControllerpublic class UserController { @Autowired private UserService userService; /** * 獲取所有用戶數據 * * @return */ @GetMapping('/getList') public List<UserEntity> getList() {return userService.list(); } /** * 插入用戶數據 * * @return */ @PostMapping('/create') public boolean create(@RequestBody UserEntity userEntity) {return userService.save(userEntity); } /** * 更新用戶數據 * * @return */ @PutMapping('/update') public boolean update(@RequestBody UserEntity userEntity) {return userService.updateById(userEntity); } /** * 刪除用戶數據 * * @return */ @DeleteMapping('/delete/{username}') public boolean delete(@PathVariable('username') String username) {return userService.removeById(username); }}8 調試結果 8.1 查詢數據
到此這篇關于SpringBoot配置MyBatis-Plus實現增刪查改的文章就介紹到這了,更多相關SpringBoot MyBatis-Plus增刪查改內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
1. React+umi+typeScript創建項目的過程2. ASP調用WebService轉化成JSON數據,附json.min.asp3. php測試程序運行速度和頁面執行速度的代碼4. php網絡安全中命令執行漏洞的產生及本質探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析8. ASP中常用的22個FSO文件操作函數整理9. SharePoint Server 2019新特性介紹10. 三個不常見的 HTML5 實用新特性簡介
