對于mybatis和mybatisplus的選擇

對于mybatis和mybatisplus的選擇

  • 1. 問題
  • 2. MP單表操作
    • 2.1 單表普通查詢
    • 2.2 單表分頁查詢
  • 3. mybatis多表操作
    • 3.1 多表普通查詢
    • 3.2 多表分頁查詢

1. 問題

mybatis 和 mybatisplus作為當下主流的持久層框架,各有優劣勢。依據個人經驗:mybatis可以定制化輸出數據庫操作,但是卻需要手寫sql和mapper以及service中的方法;mybatisplus雖然少了手寫sql和一些mapper以及service方法,但是對于多表操作的便捷性還是有很大不足。按照我的習慣,更偏向于mybatisplus+mybatis結合使用,在單表操作時利用MP提高效率;在多表操作時,利用mybatis。


2. MP單表操作

mp的一些常規操作

2.1 單表普通查詢

QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 20);
List<UserInfo> list = userInfoMapper.selectList(queryWrapper );

2.2 單表分頁查詢

// 條件查詢
LambdaQueryWrapper<UserInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserInfo::getAge, 20);
// 分頁對象
Page<UserInfo> queryPage = new Page<>(page, limit);
// 分頁查詢
IPage<UserInfo> iPage = userInfoMapper.selectPage(queryPage , queryWrapper);
// 數據總數
Long total = iPage.getTotal();
// 集合數據
List<UserInfo> list = iPage.getRecords();

3. mybatis多表操作

3.1 多表普通查詢

List<Country> list = countryMapper.selectAll();

3.2 多表分頁查詢

//獲取第1頁,10條內容,默認查詢總數count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo對結果進行包裝
PageInfo page = new PageInfo(list);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14836.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14836.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14836.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一文詳解邏輯越權漏洞

1. 邏輯越權 1.1. 漏洞原理 邏輯越權漏洞就是當用戶跳過自己的權限限制&#xff0c;去操作同等級用戶或者上級用戶。正常的情況下&#xff0c;當一個用戶去訪問某個資源的時候&#xff0c;首先需要去登錄驗證自己的權限&#xff0c;其次是對數據的查詢&#xff0c;最后返回數…

gateway基本配置,如何配置?

文章推薦 1 作為程序員&#xff0c;開發用過最好用的AI工具有哪些&#xff1f; 2 Github Copilot正版的激活成功&#xff0c;終于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手&#xff0c;幫助你提高寫代碼效率 5 Jetbrains的a…

linux命令中arpd的使用

arpd 收集免費ARP信息 補充說明 arpd命令 是用來收集免費arp信息的一個守護進程&#xff0c;它將收集到的信息保存在磁盤上或者在需要時&#xff0c;提供給內核用戶用于避免多余廣播。 語法 arpd(選項)(參數)選項 -l&#xff1a;將arp數據庫輸出到標準輸出設備顯示并退出…

【云原生】Kubernetes----POD基本管理

目錄 引言 一、Pod基礎概念 &#xff08;一&#xff09;Pod簡介 &#xff08;二&#xff09;Pod的分類 1.自主式Pod 2.控制器管理的Pod &#xff08;三&#xff09;Pod使用方式 1.單容器pod 2.多容器Pod 3. 注意事項 二、Pod容器的分類 &#xff08;一&#xff09;…

C#中的惰性對象你使用過嗎?

概述&#xff1a;本文深入探討了 C# 中 Lazy Objects 的概念。惰性對象是高效資源配置和初始化的非常有益的工具&#xff0c;尤其是在這些過程成本高昂或耗時的情況下。它全面研究了 Lazy Objects 的功能、其目的和最佳用例&#xff0c;以及實際的實現策略。延遲加載簡介什么是…

【Unity】免費的高亮插件——QuickOutline

除了常見的HighLightSystem來實現的高亮功能&#xff0c;其實還有很多的方法實現物體的高亮。 在 Unity資源商店 搜索OutLine&#xff0c;就會有很多免費好用的高亮插件。 下面介紹一下 QuickOutline這個插件&#xff0c;在 Unity資源商店 搜索到后&#xff0c;點擊進去就可以…

推薦幾款新手學習編程的網站

免費在線開發平臺 介紹一款編程平臺&#xff0c;專為學生和開發者量身打造&#xff01;平臺擁有近4000道編程題目&#xff0c;支持多種編程語言&#xff08;包括C、C、JavaScript、TypeScript、Go、Rust、PHP、Java、Ruby、Python3和C#&#xff09;&#xff0c;為您提供全面的學…

Tomcat端口配置

Tomcat是開源免費的服務器&#xff0c;其默認的端口為8080&#xff0c;本文講述一下如何配置端口。 最后在瀏覽器中輸入localhost:8888即可打開Tomcat界面

python判斷字符串是否為回文串的詳細解析與實現

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言&#xff1a;回文串的定義與背景 二、判斷回文串的基本思路 示例解析 三、代碼實…

三維場景感知之三維目標檢測方向入門

三維目標檢測入門 1 文檔需知2 基礎知識深度學習基礎必上手項目科研研究必知道的論文門戶深度學習必看論文 3 目標檢測入門知識二維目標檢測必看論文 4 三維目標檢測入門知識三維目標檢測必熟悉數據集三維目標檢測點云分類分割預備知識三維目標檢測必熟悉&#xff0c;必跑通&am…

C:技術面試總結

1 變量的聲明和定義: 定義:為變量分配地址和存儲空間 聲明:不分配地址。一個變量可以在多個地方聲明,但只能在一個地方定義。extern修飾的變量聲明,說明此變量將在文件以外或文件后面部分定義。 2 局部變量是否能與全局變量重名: 可以,局部變量會屏蔽全局變量 局部…

【postgresql初級使用】基于表達式或者函數的索引,字符串拼接可以使用索引了,帶來不一樣的優化效果

帶表達式的索引 ?專欄內容&#xff1a; postgresql使用入門基礎手寫數據庫toadb并發編程 個人主頁&#xff1a;我的主頁 管理社區&#xff1a;開源數據庫 座右銘&#xff1a;天行健&#xff0c;君子以自強不息&#xff1b;地勢坤&#xff0c;君子以厚德載物. 文章目錄 帶表達式…

Node.js —— 前后端的身份認證 之用 express 實現 JWT 身份認證

JWT的認識 什么是 JWT JWT&#xff08;英文全稱&#xff1a;JSON Web Token&#xff09;是目前最流行的跨域認證解決方案。 JWT 的工作原理 總結&#xff1a;用戶的信息通過 Token 字符串的形式&#xff0c;保存在客戶端瀏覽器中。服務器通過還原 Token 字符串的形式來認證用…

AIGC-風格遷移-“DEADiff:穩定可控的文本到圖像風格化擴散模型 “-CVPR2024

DEADiff: An Efficient Stylization Diffusion Model with Disentangled Representations 代碼&#xff1a;https://tianhao-qi.github.io/DEADiff/ 論文&#xff1a;https://arxiv.org/pdf/2403.06951 本文介紹了一種名為DEADiff的方法&#xff0c;旨在解決基于擴散的文本到圖…

【機器學習論文閱讀筆記】Robust Recovery of Subspace Structures by Low-Rank Representation

前言 終于要輪到自己匯報了好崩潰。。盯著論文準備開始做匯報ppt感覺一頭亂麻&#xff0c;決定還是寫博客理清思路再說吧 參考資料&#xff1a; 論文原文&#xff1a;arxiv.org/pdf/1010.2955 RPCA參考文章&#xff1a;RPCA - 知乎 (zhihu.com) 譜聚類參考文章&#xff1a…

Python使用pymysql操作數據庫

大家好&#xff0c;當涉及到與數據庫進行交互和操作時&#xff0c;Python的pymysql庫是一個常用且功能強大的選擇。pymysql提供了與MySQL數據庫的連接、查詢、插入、更新和刪除等操作的方法&#xff0c;使得在Python中進行數據庫操作變得簡單而高效。 1、安裝 pymysql 庫 在開…

面部捕捉 學習筆記

目錄 FaceShift Studio FaceRig Pro是一款功能強大的面部捕捉視頻制作軟件版 FaceShift Studio FaceShift人臉表情識別原理分析 - 知乎 FaceRig Pro是一款功能強大的面部捕捉視頻制作軟件版

Python3 筆記:部分專有名詞解釋

1、python 英 /?pa?θ?n/ 這個詞在英文中的意思是蟒蛇。但據說Python的創始人Guido van Rossum&#xff08;吉多范羅蘇姆&#xff09;選擇Python這個名字的原因與蟒蛇毫無關系&#xff0c;只是因為他是“蒙提派森飛行馬戲團&#xff08;Monty Python&#xff07;s Flying Ci…

【靜態分析】在springboot使用太阿(Tai-e)01

參考&#xff1a;使用太阿&#xff08;Tai-e&#xff09;進行靜態代碼安全分析&#xff08;spring-boot篇一&#xff09; - 先知社區 ---------------------------------------------------------------------- 由于spring-boot實現了控制反轉與面向切面編程的設計思想&#x…

OpenHarmony輕松玩轉GIF數據渲染

OpenAtom OpenHarmony&#xff08;以下簡稱“OpenHarmony”&#xff09;提供了Image組件支持GIF動圖的播放&#xff0c;但是缺乏擴展能力&#xff0c;不支持播放控制等。今天介紹一款三方庫——ohos-gif-drawable三方組件&#xff0c;帶大家一起玩轉GIF的數據渲染&#xff0c;搞…