mybatis plus常用技術點

2021-10-10 09:07:34 字數 3579 閱讀 3340

mp配置

mybatis-plus.config-location = classpath:mybatis-config.xml

#mybaits 別名包掃瞄路徑

mybatis-plus.type-aliases-package = com.lagou.mp.pojo

#關閉自動駝峰對映,該引數不能和mybatis-plus.config-location同時存在,否則啟動報錯,如果要配置,就配置在mybatis-config.xml中

mybatis-plus.configuration.map-underscore-to-camel-case=false

#全域性地開啟或關閉配置檔案中的所有對映器已經配置的任何快取,預設為 true

mybatis-plus.configuration.cache-enabled=false

"sqlsessionfactory"

class

="com.baomidou.mybatisplus.extension.spring.mybatissqlsessionfactorybean"

>

name

="configlocation"

value

="classpath:mybatis-config.xml"

/>

name

= value

=/>

name

="typealiasespackage"

value

="com.baomidou.mybatisplus.samples.quickstart.entity"

/>

bean

>

db對映配置
#全域性配置id生成策略,無需在實體類配置@tableid(type=idtype.auto)

mybatis-plus.global-config.db-config.id-type=auto

#配置全域性表名字首

mybatis-plus.global-config.db-config.table-prefix=tb_

"sqlsessionfactory"

class

="com.baomidou.mybatisplus.extension.spring.mybatissqlsessionfactorybean"

>

name

="datasource"

ref="datasource"

/>

name

="globalconfig"

>

class

="com.baomidou.mybatisplus.core.config.globalconfig"

>

name

="dbconfig"

>

class

="com.baomidou.mybatisplus.core.config.globalconfig$dbconfig"

>

name

="idtype"

value

="auto"

/>

name

="tableprefix"

value

="tb_"

/>

bean

>

property

>

bean

>

property

>

bean

>

配置字首,有多種該如何配置全域性表頭?如t_/sys_/flow_

條件構造器
alleq

alleq

(map)

//map的key是表字段

alleq

(map,

true

/false

)//map的key是表字段,false時,忽略where中條件為null的字段

alleq

(condition,map,

true

/false

)//map的key是表字段,condition為false,後面的條件都會忽略

alleq

(prediction,map)

//前面用lamda表示式,如(k,v)->k.equals("name"),表示只過濾name欄位

select

("name"

)//返回只包括指定的字段

效能分析外掛程式

該外掛程式會列印sql執行時長,通過配置maxtime可以判斷,如果超過配置,sql執行會報錯

@bean

public performanceinterceptor performanceinterceptor()

springmvc中的配置

>

interceptor

="com.baomidou.mybatisplus.extension.plugins.performanceinterceptor"

>

name

="maxtime"

value

="100"

/>

name

="format"

value

="true"

/>

plugin

>

plugins

>

樂觀鎖外掛程式

關鍵點,生成的實體類中,version欄位一定要加上@version註解,否則以下外掛程式不生效

@bean

public optimisticlockerinterceptor optimisticlockerinterceptor()

class

="com.baomidou.mybatisplus.extension.plugins.optimisticlockerinterceptor"

/>

邏輯刪除

增加刪除標記欄位並為實體類字段增加註解

@tablelogic

private integer deleted;

# 邏輯已刪除值(預設為 1)

mybatis-plus.global-config.db-config.logic-delete-value=1

# 邏輯未刪除值(預設為 0)

mybatis-plus.global-config.db-config.logic-not-delete-value=0

加上該標註後,呼叫deletebyid方法,實際上時執行update操作,將標記的字段(如is_deleted)值更新為1;

查詢方法如findall或selectlist等等,會自動帶上is_deleted=0,比較實用。

MybatisPlus常用方法

1.in qw.in r column,collection coll list list employeeservice.list qw 親測 list集合存在重複變數,in方法查詢的時候只查詢一次 list集合中含有資料庫不存在的值,不報錯,該值不查。2.like title deptvo.ge...

Mybatis Plus常用方法

mybatis plus常用方法 insert 新增 update 可以傳入條件構造器,根據條件修改 updatebyid 根據id修改 selectlist 查詢集合,可以傳入條件構造器 selectbyid 根據id查詢單條記錄 selectpage 分頁查詢,可以傳入條件構造器 delete ...

MybatisPlus的常用註解以及全域性配置策略

1.tablename註解 作用 表明實體類對應的資料庫表 使用 在類名上使用,值為對應的表的表名 示例 tablename user 對應資料庫中的user表 public class user 2.tableid 作用 表明類中的某個屬性為主鍵欄位對應的屬性 使用 在為主鍵的屬性上使用 示例 t...