mybatisPlus自動寫入和樂觀鎖和分頁

2021-10-18 17:55:04 字數 2769 閱讀 7026

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...