欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

在有些情況下需要用到MybatisPlus查詢(xún)?cè)鶶QL,MybatisPlus其實(shí)帶有運(yùn)行原生SQL的方法。

方法一

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

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

使用一個(gè)自己的BaseMapper去繼承MybatisPlus自己的BaseMapper,然后所有的Mapper去繼承自己寫(xiě)的BaseMapper即可。那么所有的Mapper都能查詢(xún)?cè)鶶QL了。
問(wèn)題在于${nativeSql}可能會(huì)被作為代碼漏洞,不是很提倡這種寫(xiě)法。

方法二

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

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

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

application.properties寫(xiě)法:

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

如果不打開(kāi)會(huì)報(bào)

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");

個(gè)人比較推薦使用這種方式來(lái)查詢(xún)?cè)鶶QL,既不會(huì)污染Mapper,也不會(huì)被報(bào)出代碼漏洞。

總結(jié)

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

相關(guān)文章

  • Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本

    Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本

    這篇文章主要介紹了Java如何實(shí)現(xiàn)支付寶電腦支付基于servlet版本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java HttpURLConnection使用方法詳解

    Java HttpURLConnection使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java HttpURLConnection使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java設(shè)計(jì)模式之責(zé)任鏈模式

    Java設(shè)計(jì)模式之責(zé)任鏈模式

    這篇文章介紹了Java設(shè)計(jì)模式之責(zé)任鏈模式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • Java中import導(dǎo)入的用法說(shuō)明

    Java中import導(dǎo)入的用法說(shuō)明

    這篇文章主要介紹了Java中import導(dǎo)入的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java Semaphore實(shí)現(xiàn)高并發(fā)場(chǎng)景下的流量控制

    Java Semaphore實(shí)現(xiàn)高并發(fā)場(chǎng)景下的流量控制

    在java開(kāi)發(fā)的工作中是否會(huì)出現(xiàn)這樣的場(chǎng)景,你需要實(shí)現(xiàn)一些異步運(yùn)行的任務(wù),該任務(wù)可能存在消耗大量?jī)?nèi)存的情況,所以需要對(duì)任務(wù)進(jìn)行并發(fā)控制。本文將介紹通過(guò)Semaphore類(lèi)優(yōu)雅的實(shí)現(xiàn)并發(fā)控制,感興趣的可以了解一下
    2021-12-12
  • Windows下apache ant安裝、環(huán)境變量配置教程

    Windows下apache ant安裝、環(huán)境變量配置教程

    這篇文章主要介紹了Windows下apache ant安裝、環(huán)境變量配置教程,ANT的安裝很簡(jiǎn)單,本文同時(shí)講解了驗(yàn)證安裝是否成功的方法和使用方法實(shí)例,需要的朋友可以參考下
    2015-06-06
  • Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法

    Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法

    本文主要介紹了Java中文件寫(xiě)入內(nèi)容的幾種常見(jiàn)方法,主要包括使用NIO的Files工具類(lèi)、通過(guò)commons-io的FileUtils工具類(lèi)、RandomAccessFile、PrintWriter和BufferedWriter這幾種,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載

    利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了如何利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • SpringBoot使用prometheus監(jiān)控的示例代碼

    SpringBoot使用prometheus監(jiān)控的示例代碼

    這篇文章主要介紹了SpringBoot使用prometheus監(jiān)控的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • FastJson踩坑:@JsonField在反序列化時(shí)失效的解決

    FastJson踩坑:@JsonField在反序列化時(shí)失效的解決

    這篇文章主要介紹了FastJson踩坑:@JsonField在反序列化時(shí)失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論