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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring Boot整合Mybatis-Plus 增删改查+ 分页基本使用完整示例

發布時間:2025/1/21 javascript 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot整合Mybatis-Plus 增删改查+ 分页基本使用完整示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

MyBatis的增強方案確實有不少,甚至有種感覺是現在如果只用 “裸MyBatis”,不來點增強插件都不好意思了。這不,在上一篇文章《Spring Boot項目利用MyBatis Generator進行數據層代碼自動生成》 中嘗試了一下 MyBatis Generator。這次來點更加先進的 Mybatis-Plus,SQL語句都不用寫了,分頁也是自動完成,嗯,真香!


數據庫準備

CREATE TABLE tbl_user (user_id BIGINT(20) NOT NULL COMMENT '主鍵ID',user_name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',user_age INT(11) NULL DEFAULT NULL COMMENT '年齡',PRIMARY KEY (user_id) ) charset = utf8;

MyBatis-Plus加持

  • 工程搭建 (不贅述了)
  • 依賴引入
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.0</version> </dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId> </dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version> </dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>8.0.12</version> </dependency>

主要是 Mybatis Plus、Lombok(不知道Lombok干嘛的?可以看這里)、Druid連接池 等依賴。

  • MyBatis Plus配置

項目配置

mybatis-plus:mapper-locations: classpath:/mapper/*Mapper.xml

新增 MyBatis Plus配置類

@Configuration @MapperScan("cn.codesheep.springbtmybatisplus.mapper") public class MyBatisConfig { }

看到沒,幾乎零配置啊,下面就可以寫業務邏輯了


業務編寫

  • 實體類
@Data @TableName("tbl_user") public class User {@TableId(value = "user_id")private Long userId;private String userName;private Integer userAge; }
  • Mapper類
public interface UserMapper extends BaseMapper<User> { }

這里啥接口方法也不用寫,就可以實現增刪改查了!

  • Service類

Service接口:

public interface UserService extends IService<User> {int insertUser( User user );int updateUser( User user );int deleteUser( User user );User findUserByName( String userName );IPage getUserPage( Page page, User user ); }

Service實現:

@Service @AllArgsConstructor public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {// 增@Overridepublic int insertUser(User user) {return baseMapper.insert( user );}// 改@Overridepublic int updateUser(User user) {return baseMapper.updateById( user );}// 刪@Overridepublic int deleteUser(User user) {return baseMapper.deleteById( user.getUserId() );}// 查@Overridepublic User findUserByName( String userName ) {return baseMapper.getUserByName( userName );} }
  • Controller類
@RestController @RequestMapping("/user") public class UserContorller {@Autowiredprivate UserService userService;// 增@PostMapping( value = "/insert")public Object insert( @RequestBody User user ) {return userService.insertUser( user );}// 改@PostMapping( value = "/update")public Object update( @RequestBody User user ) {return userService.updateUser( user );}// 刪@PostMapping( value = "/delete")public Object delete( @RequestBody User user ) {return userService.deleteUser( user );}// 查@GetMapping( value = "/getUserByName")public Object getUserByName( @RequestParam String userName ) {return userService.findUserByName( userName );} }

通過以上幾個簡單的步驟,我們就實現了 tbl_user表的增刪改查,傳統 MyBatis的 XML文件一個都不需要寫!


實際實驗【《鄉愛》加持】

  • 啟動項目

很牛批的 logo就會出現

Mybatis Plus Logo

接下來通過 Postman來發送增刪改查的請求

  • 插入記錄

通過 Postman隨便插入幾條記錄 POST localhost:8089/user/insert

{"userId":3,"userName":"劉能","userAge":"58"} {"userId":4,"userName":"趙四","userAge":"58"} {"userId":5,"userName":"謝廣坤","userAge":"58"} {"userId":6,"userName":"劉大腦袋","userAge":"58"}

發送插入請求

插入結果

  • 修改記錄

修改記錄時需要帶用戶ID,比如我們修改 趙四 那條記錄的名字為 趙四(Zhao Four)

發送修改請求

修改結果

  • 刪除記錄

修改記錄時同樣需要帶用戶ID,比如刪除ID=6 那條 劉大腦袋的記錄

image.png

  • 查詢記錄(普通查詢,下文講分頁查詢)

比如,按照名字來查詢:GET localhost:8089/user/getUserByName?userName=劉能


最關心的分頁問題

  • 首先裝配分頁插件
@Bean public PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor(); }
  • Mapper類
public interface UserMapper extends BaseMapper<User> {// 普通查詢User getUserByName( String userName );// 分頁查詢IPage<List<User>> getUsersPage( Page page, @Param("query") User user ); }
  • Service類
@Service @AllArgsConstructor public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {// 查:普通查@Overridepublic User findUserByName( String userName ) {return baseMapper.getUserByName( userName );}// 分頁查@Overridepublic IPage getUserPage(Page page, User user) {return baseMapper.getUsersPage( page, user );} }
  • Controller類
@GetMapping( value = "/page") public Object getUserPage( Page page, User user ) {return userService.getUserPage( page, user ); }

實際實驗一下,我們分頁查詢 年齡 = 58 的多條記錄:

分頁查詢結果

可以看到結果數據中,除了給到當前頁數據,還把總記錄條數,總頁數等一并返回了,很是優雅呢 !


寫在最后

由于能力有限,若有錯誤或者不當之處,還請大家批評指正,一起學習交流!

本文轉載自https://www.codesheep.cn/2019/04/12/springbt-mybatis-plus/
如有侵權,請聯系作者刪除

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Spring Boot整合Mybatis-Plus 增删改查+ 分页基本使用完整示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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