Mybatis Plus使用技巧總結篇

2021-10-10 22:38:27 字數 2814 閱讀 7498

分頁查詢

連線查詢

指定查詢

總結我們在使用mybatis-plus進行增強的時候,往往使用的都只是其最基礎最簡單的功能,而其豐富的sql語句構造更是我們應該學習和掌握的技能

當我們需要映象多張表聯合查詢時,就會用到

例如:當我們的查詢語句需要如下設計時

# 查詢使用者資訊

select

a.*,

b.`name` as ***_text

from

user_info a

left join user_*** b on ( a.*** = b.id )

where

a.enable=

true

and a.age >

20;

我們想要通過mybatis-plus進行實現相關語句設計,需要進行如下操作

新建相關的vo類

@data

public

class

userinfovo

extends

userinfo

ipage

list

(page

page,

@param

;

xml檔案中構造相關語句

"list" resulttype=

"userinfovo"

>

select

a.*,

b.`name` as ***_text

from

user_info a

left join user_*** b on ( a.*** = b.id )

$<

/select>

// 條件查詢

new<

>()

;eq(userinfo:

:getage,20)

;// 分頁物件

page

querypage =

newpage

<

>

(page, limit)

;// 分頁查詢

ipage

list

;

new

<

>()

;// and a.id = 1

eq(userinfo:

:getid,

"1")

;//or a.id = 3or(

).eq(userinfo:

:getid,

"1")

;但是當我們想要在二級狀態下使用and或者or連線詞時,就可以使用如下的方式

new<

>()

;// and ( a.`name` = 'jack' or a.phone = '13888888888' )

and(i -

> i.

eq(userinfo:

:getname,

"jack").

or().

eq(userinfo:

:getphone,

"13888888888"))

;後續當我們需要設計更深層次的or使用時,可以繼續巢狀使用

new<

>()

;// and a.id <> 1

ne(userinfo:

:getid,

"1")

;// and ( (a.`name` = 'jack' and a.category = 1) or (a.phone = '13888888888' or a.category = 2) )

and(i -

>

(i.and

(j -

> j.

eq(userinfo:

:getname,

"jack").

eq(userinfo:

:getcategory,1)

)).or

(j -

> j.

eq(userinfo:

:getphone,

"13888888888").

eq(userinfo:

:getcategory,2)

));// 查詢結果

生成的語句如下

select

a.*

from

user_info a

where

a.id <

>

1 and (

(a.`name` =

'jack' and a.category =

1) or (a.phone =

'13888888888' or a.category =2)

)

當我們只是需要表中資料的某幾個欄位時,我們可以使用select()進行指定需要的字段

例如: 只需要查詢出使用者的id,name,phone欄位

我們只需要如下即可

new<

>()

;// 只查詢 id,name,phone

select

(userinfo:

:getid, userinfo:

:getname, userinfo:

:getphone)

;// 查詢條件為:age = 20

eq(userinfo:

:getage,20)

;list

selectlist

;

Mybatis Plus使用技巧

最近在用 mybatis plus,嗯,真香!今天就來說說 mybatis plus 的那些使用技巧 條件查詢 分頁物件 pagequerypage new page page,limit 分頁查詢 資料總數 long total ipage.gettotal 使用者資料 listlist ipag...

MybatisPlus使用介紹

com.baomidou mybatis plus boot starter 3.2.0 package com.jt.pojo import com.baomidou.mybatisplus.annotation.tableid import com.baomidou.mybatisplus.an...

Mybatis Plus簡單使用

匯入相關依賴 注 因為mybatis plus的依賴已經包含分頁,mybatis,mybatis spring整合jar包這三種包,所以這三個jar包不需要額外匯入 com.baomidou groupid mybatis plus artifactid 2.3 version dependency...