一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Mybatis Plus select 實現只查詢部分字段

Mybatis Plus select 實現只查詢部分字段

2021-12-14 13:10etna Java教程

這篇文章主要介紹了Mybatis Plus select 實現只查詢部分字段的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis plus select 查詢部分字段

mybatis plus select語句默認查詢所有字段,如需要指定字段查詢,則需使用 querywrapper的select方法。

select

?
1
2
3
select(string... sqlselect) 
select(predicate<tablefieldinfo> predicate) 
select(class<t> entityclass, predicate<tablefieldinfo> predicate)

設置查詢字段

說明:

以上方法分為兩類。

第二類方法為:過濾查詢字段(主鍵除外),入參不包含 class 的調用前需要wrapper內的entity屬性有值! 這兩類方法重復調用以最后一次為準

例:指定查詢主鍵,名字,年齡字段

?
1
select("id", "name", "age")

例: 查詢以test開頭的屬性

?
1
select(i ‐> i.getproperty().startswith("test"))

例:查詢user對象中出除manager_id和create_time外其它所有字段的數據

?
1
2
select(user.class, info ‐> !info.getcolumn().equals("manager_id")
&& !info.getcolumn().equals("create_time"))

mybatis-plus之select、delete

一、mybatis-plus之查詢操作

1、查詢操作常用api

根據id查詢測試代碼如下:

?
1
2
3
4
5
6
//測試根據id查詢
@test
public void testselectbyid(){
    user user = usermapper.selectbyid(2l);
    system.out.println(user);
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

批量查詢測試代碼如下:

?
1
2
3
4
5
6
//測試批量查詢
@test
public void testselectbybatchids(){
    list<user> users = usermapper.selectbatchids(arrays.aslist(1, 2, 3));
    users.foreach(system.out::println);
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

使用map進行條件查詢測試代碼如下:

?
1
2
3
4
5
6
7
8
9
10
//按條件查詢之使用map操作
@test
public void testselectbymap(){
    map map = new hashmap();
    map.put("name","哈利油");
    map.put("age",18);
 
    list list = usermapper.selectbymap(map);
    list.foreach(system.out::println);
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

2、分頁查詢

分頁在項目里使用得十分多,平時一般是使用pagehelpr插件進行分頁,還可以使用原始的limit進行分頁;mp其實內置了分頁插件,使用步驟如下:

2.1、在配置類里注冊分頁插件

Mybatis Plus select 實現只查詢部分字段

?
1
2
3
4
5
//注冊分頁插件
@bean
public paginationinterceptor paginationinterceptor(){
    return new paginationinterceptor();
}

2.2、直接使用mp內置的page對象進行分頁,測試代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
@test
public void testpage(){
    //參數1:當前頁,參數2:頁面大小
    page<user> page = new page<>(1,5);
    //用于排序
    page.setdesc("id");
    ipage<user> useripage = usermapper.selectpage(page, null);
 
    useripage.getrecords().foreach(system.out::println);
    system.out.println(useripage.gettotal());
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

二、mybatis-plus之刪除操作

1、物理刪除操作常用api

根據id刪除測試代碼如下:

?
1
2
3
4
5
//測試刪除
@test
public void testdeletebyid(){
    usermapper.deletebyid(1l);
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

根據id批量刪除測試代碼如下:

?
1
2
3
4
5
//通過id批量刪除
@test
public void testdeletebatchid(){
    usermapper.deletebatchids(arrays.aslist(2l,3l));
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

使用map進行條件刪除測試代碼如下:

?
1
2
3
4
5
6
@test
public void testdeletemap(){
    map map = new hashmap();
    map.put("name","哈利油");
    usermapper.deletebymap(map);
}

測試結果如下:

Mybatis Plus select 實現只查詢部分字段

2、邏輯刪除

在工作中有時需要使用到邏輯刪除,邏輯刪除即數據在數據庫里沒有被移除,而是通過一個變量來讓它失效;一般管理員可以查看被邏輯刪除的數據,這樣可防止數據的丟失,類似于回收站功能

mp邏輯刪除使用步驟如下:

2.1、在數據庫里增加deleted字段

Mybatis Plus select 實現只查詢部分字段

2.2、在實體類對應的屬性上加上@tablelogic注解

Mybatis Plus select 實現只查詢部分字段

2.3、在配置類里注冊邏輯刪除組件

Mybatis Plus select 實現只查詢部分字段

?
1
2
3
4
5
//注冊邏輯刪除組件
@bean
public isqlinjector sqlinjector(){
    return new logicsqlinjector();
}

2.4、在application.properties文件里配置已刪除跟未刪除用什么來表示

Mybatis Plus select 實現只查詢部分字段

?
1
2
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

2.5、測試邏輯刪除

Mybatis Plus select 實現只查詢部分字段

Mybatis Plus select 實現只查詢部分字段

Mybatis Plus select 實現只查詢部分字段

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_38232816/article/details/109283507

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 人阁色第四影院在线观看 | 女人叉开腿让男人捅 | bdsm酷刑折磨死美女 | 久久无码AV亚洲精品色午夜麻豆 | 亚洲系列国产系列 | 四虎2020紧急免费入口 | 欧美高清乌克兰精品另类 | 2022国产麻豆剧传媒剧情 | 日本精工厂网址 | 国产传媒在线播放 | 美女天天操 | 小小水蜜桃视频高清在线播放 | 性派对videos18party | 韩日视频在线 | 日本aaaaa高清免费看 | 国产精品亚洲片夜色在线 | 亚洲欧美日韩国产综合专区 | 欧美精品久久久久久久免费观看 | 成全视频在线观看免费 | 欧美区一区 | 国产综合欧美日韩视频一区 | 亚洲天堂影院 | 91天堂一区二区 | 色先锋影音先锋 | 国产91精选学生在线观看 | re99| 亚洲视频在线看 | 免费午夜影片在线观看影院 | 啪一啪日一日 | 成人免费福利网站在线看 | 日韩在线观看网址 | 亚洲国产欧美另类 | 波多野结衣女老师 | 私人影院免费 | 俄罗斯一级淫片 | 国产欧美va欧美va香蕉在线观看 | 国产视频在线一区 | 大象传媒1234区 | 亚洲国产99在线精品一区二区 | 国产精品视频免费观看 | 亚洲第一色视频 |