最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MybatisPlus調(diào)用原生SQL的實現(xiàn)方法

 更新時間:2023年02月01日 08:52:37   作者:lfwh  
本文主要介紹了MybatisPlus調(diào)用原生SQL的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在有些情況下需要用到MybatisPlus查詢原生SQL,MybatisPlus其實帶有運行原生SQL的方法。

方法一

這也是網(wǎng)上流傳最廣的方法,但是我個人認(rèn)為這個方法并不優(yōu)雅,且采用${}的方式代碼審計可能會無法通過,會被作為代碼漏洞

public interface BaseMapper<T> extends com.baomidou.mybatisplus.core.mapper.BaseMapper<T> {
 
    @Select("${nativeSql}")
    Object nativeSql(@Param("nativeSql") String nativeSql);
}

使用一個自己的BaseMapper去繼承MybatisPlus自己的BaseMapper,然后所有的Mapper去繼承自己寫的BaseMapper即可。那么所有的Mapper都能查詢原生SQL了。
問題在于${nativeSql}可能會被作為代碼漏洞,不是很提倡這種寫法。

方法二

使用SqlRunner的方式執(zhí)行原生SQL。這個方法提倡。

要使用SqlRunner的前提是打開SqlRunner,編輯application.yaml增加配置如下:

mybatis-plus:
  global-config:
    enable-sql-runner: true

application.properties寫法:

mybatis-plus.global-config.enable-sql-runner=true

如果不打開會報

Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for xxxxxxx

使用方法:

import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;

List<Map<String, Object>> mapList = SqlRunner.db().selectList("select * from test_example limit 1,10");

個人比較推薦使用這種方式來查詢原生SQL,既不會污染Mapper,也不會被報出代碼漏洞。

總結(jié)

到此這篇關(guān)于MybatisPlus調(diào)用原生SQL的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)MybatisPlus調(diào)用原生SQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring學(xué)習(xí)之依賴注入的方法(三種)

    Spring學(xué)習(xí)之依賴注入的方法(三種)

    本篇文章主要介紹了Spring學(xué)習(xí)之依賴注入的方法(三種),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • mybatis防止SQL注入的方法實例詳解

    mybatis防止SQL注入的方法實例詳解

    SQL注入是一種很簡單的攻擊手段,但直到今天仍然十分常見。那么mybatis是如何防止SQL注入的呢?下面腳本之家小編給大家?guī)砹藢嵗a,需要的朋友參考下吧
    2018-04-04
  • Java自學(xué)書籍推薦 程序員到架構(gòu)師必看的書

    Java自學(xué)書籍推薦 程序員到架構(gòu)師必看的書

    這篇文章主要為大家推薦了Java程序員到架構(gòu)師自學(xué)書籍,幫助大家不斷提高自己的專業(yè)水平,感興趣的小伙伴們可以參考一下
    2016-09-09
  • eclipse輸出Hello World的實現(xiàn)方法

    eclipse輸出Hello World的實現(xiàn)方法

    這篇文章主要介紹了eclipse輸出Hello World的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 在Struts2中的結(jié)果集類型

    在Struts2中的結(jié)果集類型

    本篇文章,小編為大家介紹關(guān)于在Struts2中的結(jié)果集類型,有需要的朋友可以參考一下
    2013-04-04
  • Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    MapSturct?是一個生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實現(xiàn)對象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧
    2023-06-06
  • Java利用釘釘機器人實現(xiàn)發(fā)送群消息

    Java利用釘釘機器人實現(xiàn)發(fā)送群消息

    這篇文章主要為大家詳細(xì)介紹了Java語言如何通過釘釘機器人發(fā)送群消息通知,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-09-09
  • Java工廠模式用法之如何動態(tài)選擇對象詳解

    Java工廠模式用法之如何動態(tài)選擇對象詳解

    工廠設(shè)計模式可能是最常用的設(shè)計模式之一,我想大家在自己的項目中都用到過。本文不僅僅是關(guān)于工廠模式的基本知識,更是討論如何在運行時動態(tài)選擇不同的方法進行執(zhí)行,你們可以看看是不是和你們項目中用的一樣
    2023-03-03
  • Java自定義一個變長數(shù)組的思路與代碼

    Java自定義一個變長數(shù)組的思路與代碼

    有時我們希望將把數(shù)據(jù)保存在單個連續(xù)的數(shù)組中,以便快速、便捷地訪問數(shù)據(jù),但這需要調(diào)整數(shù)組大小或者對其擴展,下面這篇文章主要給大家介紹了關(guān)于Java自定義一個變長數(shù)組的思路與代碼,需要的朋友可以參考下
    2022-12-12
  • maven引入第三方j(luò)ar包配置詳解

    maven引入第三方j(luò)ar包配置詳解

    這篇文章主要為大家介紹了maven引入第三方j(luò)ar包配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論

南昌市| 通渭县| 甘孜县| 古浪县| 丁青县| 鄱阳县| 宁陕县| 罗源县| 田东县| 岱山县| 福鼎市| 利川市| 崇左市| 华阴市| 乌恰县| 波密县| 玉溪市| 乐业县| 临湘市| 汉寿县| 海南省| 成武县| 仁布县| 西峡县| 绵竹市| 兴宁市| 子洲县| 湖北省| 邛崃市| 明溪县| 霍州市| 德格县| 合肥市| 额敏县| 陕西省| 郯城县| 英吉沙县| 元江| 资源县| 临邑县| 鄂伦春自治旗|