1)資料庫表結構
在sys_admin中新增 create_time,update_time
2)實體類新增註解
@data
public
class
sysadmin
3)實現元物件處理器介面
@component
public
class
mymetaobjecthanlder
implements
metaobjecthandler
// 實現表修改時,屬性的自動修改
@override
public
void
updatefill
(metaobject metaobject)
}
4)測試
@springboottest
public
class
mybatsiplustest
@test
public
void
updatetest()
@test
public
void
showtest()
}
1)樂觀鎖和悲觀鎖的介紹
樂觀鎖:並行解決,通過新增版本號的方法來控制資料庫的資料
悲觀鎖:序列解決,一次只能由乙個人進行操作,其他人都必須等待
樂觀鎖實現方式:
2)資料庫中新增version欄位
alter
table
`sysadmin`
addcolumn
`version`
int
實體類新增version欄位
@version
@tablefield
(fill = fieldfill.insert)
private integer version;
元物件處理介面新增version的insert預設值
@override
public
void
insertfill
(metaobject metaobject)
5)建立乙個新的配置類,將樂觀鎖的配置加入
@configuration()
public
class
myspringconfig
}
1)配置分頁外掛程式
/**
* 分頁外掛程式
*/@bean
public paginationinterceptor paginationinterceptor()
2)測試分頁
// 測試分頁
@test
public
void
testpage()
邏輯操作講解:
1)表中新增邏輯刪除字段
alter
table
`sys_admin`
addcolumn
`deleted`
boolean
2)實體類中新增deleted欄位
@tablelogic
@tablefield
(fill = fieldfill.insert)
private integer deleted;
3)元物件處理介面新增deleted的insert預設值
@override
public
void
insertfill
(metaobject metaobject)
4)在myspringconfig配置類中註冊bean
@bean
public isqlinjector sqlinjector()
引數說明:
maxtime:sql執行時間多大時,停止查詢
format:sql格式化,預設為false
1)在myspringconifg配置外掛程式
/**
* sql 執行效能分析外掛程式
* 開發環境使用,線上不推薦。 maxtime 指的是 sql 最大執行時長
*/@bean
@profile()
// 設定 dev test 環境開啟
public performanceinterceptor performanceinterceptor()
#環境設定:dev、test、prod
spring.profiles.active=dev
performanceinterceptor.setmaxtime(100);//ms,超過此處設定的ms則sql不執行
performanceinterceptor.setformat(true);
return performanceinterceptor;
```yaml
#環境設定:dev、test、prod
spring.profiles.active=dev
Mybatis Plus自動填充
使用場景 專案中經常會遇到一些資料,每次都使用相同的方式填充,例如記錄的建立時間,更新時間等,完成這些欄位的賦值工作 1 資料庫表中新增自動填充字段 在表中新增datetime型別的新的字段 create time update time 2 實體上新增屬性和註解 data public class...
MybatisPlus 自動填充
專案中經常會遇到一些資料,每次都使用相同的方式填充,例如記錄的建立時間,更新時間等。我們可以使用mybatis plus的自動填充功能,完成這些欄位的賦值工作 在user表中新增datetime型別的新的字段 create time update time 實體上增加欄位並新增自動填充註解 tabl...
Mybatis Plus自動填充功能
有些時候我們可能會有這樣的需求,插入或者更新資料時,希望有些字段可以自動填充資料,比如密碼 version等。在mybatis plus中提供了這樣的功能,可以實現自動填充。tablefield fill fieldfill.insert 插入資料時進行填充 private integer vers...