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