MyBatis-Plus插件
生活随笔
收集整理的這篇文章主要介紹了
MyBatis-Plus插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一. 分頁插件
- 1. 添加配置類
- 2. 測試
- 二. xml自定義分頁
- 1. UserMapper中定義接口方法
- 2. UserMapper.xml中編寫SQL
- 3. 測試
- 三. 樂觀鎖
- 1. 場景
- 2. 樂觀鎖與悲觀鎖
- 3. 模擬修改沖突
- 3.1 數據庫中增加商品表
- 3.2 添加實體
- 3.3 添加mapper
- 3.4 測試
- 3.5 樂觀鎖實現流程
- 3.6 Mybatis-Plus實現樂觀鎖
一. 分頁插件
MyBatis Plus自帶分頁插件,只要簡單的配置即可實現分頁功能
1. 添加配置類
2. 測試
二. xml自定義分頁
1. UserMapper中定義接口方法
package com.atguigu.mybatisplus.mapper;import com.atguigu.mybatisplus.pojo.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository;import java.util.Map;/*** Date:2022/2/12* Author:ybc* Description:*/ @Repository public interface UserMapper extends BaseMapper<User> {/*** 根據id查詢用戶信息為map集合* @param id* @return*/Map<String, Object> selectMapById(Long id);/*** 通過年齡查詢用戶信息并分頁* @param page MyBatis-Plus所提供的分頁對象,必須位于第一個參數的位置* @param age* @return*/Page<User> selectPageVo(@Param("page") Page<User> page, @Param("age") Integer age);}2. UserMapper.xml中編寫SQL
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.atguigu.mybatisplus.mapper.UserMapper"><!--Page<User> selectPageVo(@Param("page") Page<User> page, @Param("age") Integer age);--><!--設置過類型別名User,這個類型別名就是類名不區分大小寫--><select id="selectPageVo" resultType="User">select uid,user_name,age,email from mybatis_plus.t_user where age > #{age}</select></mapper>3. 測試
三. 樂觀鎖
1. 場景
2. 樂觀鎖與悲觀鎖
3. 模擬修改沖突
3.1 數據庫中增加商品表
CREATE TABLE t_product ( id BIGINT(20) NOT NULL COMMENT '主鍵ID', NAME VARCHAR(30) NULL DEFAULT NULL COMMENT '商品名稱', price INT(11) DEFAULT 0 COMMENT '價格', VERSION INT(11) DEFAULT 0 COMMENT '樂觀鎖版本號', PRIMARY KEY (id) );INSERT INTO t_product (id, NAME, price) VALUES (1, '外星人筆記本', 100);3.2 添加實體
3.3 添加mapper
package com.atguigu.mybatisplus.mapper;import com.atguigu.mybatisplus.pojo.Product; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.stereotype.Repository;/*** Date:2022/2/15* Author:ybc* Description:*/ @Repository public interface ProductMapper extends BaseMapper<Product> { }3.4 測試
3.5 樂觀鎖實現流程
3.6 Mybatis-Plus實現樂觀鎖
修改實體類
package com.atguigu.mybatisplus.entity; import com.baomidou.mybatisplus.annotation.Version; import lombok.Data;@Data public class Product {private Long id;private String name;private Integer price;@Versionprivate Integer version; }添加樂觀鎖插件配置
@Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//添加分頁插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//添加樂觀鎖插件interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());return interceptor; }測試修改沖突
優化流程
總結
以上是生活随笔為你收集整理的MyBatis-Plus插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL学习笔记——坐标转换
- 下一篇: 人工智能实践:tensorflow笔记