mybatis逆向工程中example用法

2021-09-28 14:33:34 字數 2957 閱讀 4933

mybatis的逆向工程中會生成例項及例項對應的example,example用於新增查詢條件,相當where後面的部分

方法說明

example.setorderbyclause(「欄位名 asc」)

按「欄位名」公升序排列,desc為降序

example.setdistinct(false)

去除重複,true為選擇不重複的記錄

criteria.and***isnull

字段***為null

criteria.and***isnotnull

字段***不為null

criteria.and***equalto(value)

***字段等於value

criteria.and***notequalto(value)

***欄位不等於value

criteria.and***greaterthan(value)

***字段大於value

criteria.and***greaterthanorequalto(value)

***字段大於等於value

criteria.and***lessthan(value)

***字段小於value

criteria.and***lessthanorequalto(value)

***字段小於等於value

criteria.and***in(list<?>)

***字段值在list<?>

criteria.and***notin(list<?>)

***字段值不在list<?>

criteria.and***like(「%」+value+」%」)

***字段值為value的模糊查詢

criteria.and***notlike(「%」+value+」%」)

***字段值不為value的模糊查詢

criteria.and***between(value1,value2)

***字段值在value1和value2之間

criteria.and***notbetween(value1,value2)

***字段值不在value1和value2之間

/**

* select * from user where id = ? and pwd = ?

*/userexample example =

newuserexample()

; example.

createcriteria()

.andidequalto

(id)

.andpwdequalto

(pwd)

;selectbyexample

(example)

;

/**

* 更新實體類中所有的字段,沒有設定的屬性為null

* update user set id = null, set nickname = '張三', set age = null where id = ?

* 當然這個sql執行會報錯,因為id不能為空

*/user user =

newuser()

;user.

setnickname

("張三");

userexample userexample =

newuserexample()

;userexample.

createcriteria()

.andidequalto

(id)

;int res = userservice.

updatebyexampleselective

(user, userexample)

;

/**

* 實體類沒有設定的屬性為null,mybatis會使用動態sql過濾掉,不更新該欄位

* update user set nickname = '張三' where id = ?

*/user user =

newuser()

;user.

setnickname

("張三");

userexample userexample =

newuserexample()

;userexample.

createcriteria()

.andidequalto

(id)

;int res = userservice.

updatebyexampleselective

(user, userexample)

;

/**

* delete from user where id = ?

*/userexample userexample =

newuserexample()

;userexample.

createcriteria()

.andidequalto

(id)

;int res = userservice.

deletebyexample

(userexample)

;

/**

* select count(*) from user where nickname = '張三'

*/userexample userexample =

newuserexample()

;userexample.

createcriteria()

.andnicknameequalto

("張三");

int res = userservice.

countbyexample

(userexample)

;

mybatis逆向工程

通過genrator實現,官網為 配置generator.xml targetproject src 然後執行測試類 org.junit.test public void testmbg throws exception只能生成一些簡單的增刪改查方法 更改 測試逆向工程 public sqlsess...

MyBatis逆向工程

mybatis generator 簡稱mbg,是乙個專門為mybatis框架使用者定製的的 生成器,可以快速的根據表生成對應的對映檔案,介面以及bean類。支援基本的增刪改查,以及qbc風格的條件查詢,但是表連線 儲存過程等一些複雜sql的定義需要手工編寫。1 匯入jar包 mybatis gen...

mybatis逆向工程

int updatebyprimarykeyselective t var1 會對字段進行判斷再更新 如果為null就忽略更新 如果你只想更新某一字段,可以用這個方法。int updatebyprimarykey t var1 對你注入的字段全部更新 int updatebyexampleselec...