MyBatis Plus基礎教程大全

2021-10-07 04:04:16 字數 4151 閱讀 6670

id主鍵, mp預設對應的是雪花數字的字串型別

mp欄位預設的是駝峰

@tablename

指定表名和實體類名的關係(當表名為 ***_user, 實體類的名為 user),這時在實體類上使用註解@tablename("***_user") 指定表和實體類的對應關係

@tableid

指定主鍵與id的對映:當插入資料庫時,mp的預設主鍵名為id,如果想換個主鍵名例如叫user_id,這時在實體類中主鍵的屬性上使用@tableid註解,指定id主鍵

@tablefield

指定欄位與屬性的對映:資料庫表中有欄位名為name,實體類中對應的屬性為username,這時在實體類中的屬性上使用註解@tablefield("name"),指定兩者之間的對映關係

排除實體類中的臨時字段

方式一:給屬性加上 transient 關鍵字,表明此屬性不參與物件序列化。示例:private transient string name;

方式二:給屬性加上 static關鍵字,表明此屬性是所屬物件的唯一。示例:private static string name;

根據乙個id查詢乙個物件

// sql為: where id = 123

根據多個id查詢物件list

// sql為: where id in (idlist)

根據條件查詢乙個物件

// sql為: where id = 123

根據條件查詢物件list

// sql為: where name = 'zs'

根據map查詢物件list

// sql為: where name = 'zs' and *** = 1

mapmap = new hashmap<>();

map.put("name", "zs");// name為資料庫表中的欄位名, 不是實體類中的屬性名

map.put("***", 1);

like

// sql為: where 字段 like '%值%'

// sql為: where 字段 like '值%'

// sql為: where 字段 like '%值'

=

<

>

between 20 and 30// 小於等於並且大於等於

字段 is not null

and

or

in

order by 字段 asc

order by 字段 desc

limit 1

date_format(time, '%y-%m-d')

// sql為: where date_format(create_time, '%y-%m-%d') = '2020-06-13'   // %y-%m-%d %h:%m:%s

where user_id in (子查詢語句)

where name like '%zs%' and ( age < 30 or phone is not null)

where name like '%zs%' or (age > 20 and age < 40 and phone is not null)

where (age < 40 or phone is not null) and name like '%zs%'

// 建立條件構造器

根據id更新

user user = new user();

user.setid(123); // where條件

user.setname("張三"); // set

根據字段更新

方式一:

// where 條件

// set

user user = new user();

user.setage(18);

方式二:

// sql語句為:update user set age = 18 where name = '張三'

只查詢指定字段

不查詢指定字段

// 不查詢 user表中的 password和phone欄位

條件不為空時sql帶上查詢條件,條件為空時sql不帶查詢條件

// sql為: where name = 'zs'

user user = new user();

user.setname("zs");

// sql為: where name like '%zs%'

在實體物件的name屬性上加上 @tablefield(condition = sqlcondition.like) 註解

//查詢

//建立lambda的三種方式

lambda.eq(user::getid, "123");

// 更新

select * from user $

//使用

// 使用mybatis plus需要先配置分頁外掛程式,配置如下:(物理分頁)

@configuration

public class mybatisplusconfig

}

// 使用分頁

pagepage = new page<>(1, 10); // pagepage = new page<>(1, 10, false); 不查詢總記錄數

list.getpages(); //總頁數

list.gettotal(); //總記錄數

list.getrecords(); //資料

select u.*, i.* from user u left join info i on u.id = i.u_id $

//使用

pagepage = new page<>(1, 10);

select

# 這裡也可以使用 

# $u.*, i.*         

from

user u,

info i  $

//使用

pagepage = new page<>(1, 10);

// 使用  $的方式     

//.select("u.*", "i.*")

.eq("u.id", "123");

有空在寫52

未完待續...

XSL基礎教程

xsl基礎教程 一 http www 128.ibm.com developerworks cn xml ccidnet xslfund index1.html xsl基礎教程 二 http www.ibm.com developerworks cn xml ccidnet xslfund inde...

ps基礎教程

ps基礎教程 軟體簡介 推薦版本 流行多用的版本cs2 cs5,推薦cs3和cs5,cs2版本較舊,不推薦使用。基礎教學目錄 第一課 photoshop工具欄的使用01 第二課 工具欄的使用02 第三課 photoshop圖層 第四課 色彩原理和圖層的混合模式 第五課 圖層的樣式 第六課 圖層蒙版和...

php基礎教程

本教程旨在以最簡單 最易懂的方式,讓讀者對php有個整體上的把握和了解,並具備基本的php程式設計能力。本教程並不講環境搭建和一些技術竅門,但會提供一些示例,方便讀者理解概念。php可以用來作 和手機應用的伺服器介面,很多大型公司的 再用php做。php可以給手機應用提供伺服器介面。以.php結尾的...