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

mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

 更新時(shí)間:2024年03月17日 11:02:31   作者:小王和八蛋  
Mybatis中也是支持引用其他Mapper文件中的SQL片段的,本文就來介紹一下如何使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

有一些通用的sql,在整個(gè)項(xiàng)目中都有可能使用的到, 但是我不太想定義java接口,結(jié)合著java邏輯來實(shí)現(xiàn)功能, 又或者在每一處的mapper.xml內(nèi)都定義sql片段, 那么如果需要調(diào)整sql,我就需要調(diào)整好多處相同的代碼. 如何后期維護(hù)方便,則需要單獨(dú)創(chuàng)建一個(gè)mapper.xml文件, 只用來存放這些sql片段,沒有接口的定于,接著業(yè)務(wù)中需要用到該sql片段的地方,就去引用這個(gè)外部的sql 片段即可.

實(shí)例

全局的mapper.xml

由于我們只有sql 片段,不需要映射Dao層接口, 所以namespase可以自定義

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="commonSQL">
    <sql id="SQL1">
        select * from 表名 where id = #{id}
    </sql>

    <sql id="SQL2">
        <!--注意再當(dāng)前頁面引用sql 片段不能直接寫SQL1, 要namespase + sqlid 才可以,否則會(huì)報(bào)錯(cuò)-->
        <include refid="commonSQL.SQL1"/>
    </sql>
</mapper>

業(yè)務(wù)mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxx.xxx.xxxMapperDao">
    <select id="querySQL1" resultType="java.util.HashMap" parameterType="java.util.HashMap">
        select * from (
         <include refid="commonSQL.SQL1"/>
        )
    </select>

<select id="querySQL2" resultType="java.util.HashMap" parameterType="java.util.HashMap">
        select * from 表名 a
        left join (
         <include refid="commonSQL.SQL1">
            <!-- 如果有參數(shù)和sql片段映射不上,可以通過property 重新定義一下變量名稱即可-->
            <property name="id" value="#{ID}">
        </include>
        ) b
        on a.id = b.id
    </select>
</mapper>

到此這篇關(guān)于mybatis引用其他文件中的sql片段的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mybatis引用其他文件sql片段內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea2017建立jsp工程及tomcat配置教程

    idea2017建立jsp工程及tomcat配置教程

    本文通過圖文并茂的形式給大家介紹了idea2017建立jsp工程及tomcat等配置的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 詳細(xì)Java批量獲取微信公眾號(hào)方法

    詳細(xì)Java批量獲取微信公眾號(hào)方法

    本篇文章給大家講解了用JAVA如何實(shí)現(xiàn)向爬蟲一樣獲取微信公眾號(hào)和其基本信息等,需要你正巧需要,那跟著學(xué)習(xí)參考下吧。
    2017-12-12
  • Java實(shí)現(xiàn)轉(zhuǎn)換圖片格式的示例代碼

    Java實(shí)現(xiàn)轉(zhuǎn)換圖片格式的示例代碼

    在日常的軟件開發(fā)中,處理圖像文件是一項(xiàng)常見任務(wù),這篇文章將實(shí)現(xiàn)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Java程序,用于將一種圖片格式轉(zhuǎn)換為另一種格式,需要的可以了解下
    2025-02-02
  • 基于Java制作一個(gè)好玩的打飛機(jī)游戲

    基于Java制作一個(gè)好玩的打飛機(jī)游戲

    這篇文章主要介紹了基于Java制作的打飛機(jī)小游戲,這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java 中限制方法的返回時(shí)間最新方法

    Java 中限制方法的返回時(shí)間最新方法

    最近在研究 ChatGPT 的 API 調(diào)用,因?yàn)?nbsp;ChatGPT 的 API 調(diào)用時(shí)間通常超過 30 秒,所以我們希望在程序中限制這個(gè)方法的執(zhí)行時(shí)間,不要讓方法花太長(zhǎng)時(shí)間去執(zhí)行了,今天通過本文給大家分享Java 中如何限制方法的返回時(shí)間,感興趣的朋友跟隨小編一起看看吧
    2023-05-05
  • Java中LinkedHashMap的實(shí)現(xiàn)詳解

    Java中LinkedHashMap的實(shí)現(xiàn)詳解

    LinkedHashMap是Java中的一個(gè)Map容器,它繼承自HashMap,并且還可以對(duì)元素進(jìn)行有序存儲(chǔ),本文將介紹LinkedHashMap的實(shí)現(xiàn)原理以及使用方法,并且提供相應(yīng)的測(cè)試用例和全文小結(jié),需要的可以參考下
    2023-09-09
  • java接口Array介紹

    java接口Array介紹

    這篇文章主要介紹了java接口Array的相關(guān)資料,需要的朋友可以參考下
    2014-10-10
  • JFinal極速開發(fā)框架使用筆記分享

    JFinal極速開發(fā)框架使用筆記分享

    下面小編就為大家分享一篇JFinal極速開發(fā)框架使用筆記,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • SpringBoot之QueryDsl嵌套子查詢問題

    SpringBoot之QueryDsl嵌套子查詢問題

    這篇文章主要介紹了SpringBoot之QueryDsl嵌套子查詢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • SpringBoot使用Dubbo的全過程(直連模式)

    SpringBoot使用Dubbo的全過程(直連模式)

    這篇文章給大家介紹SpringBoot使用Dubbo的全過程(直連模式),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2026-05-05

最新評(píng)論

赫章县| 乐亭县| 莱阳市| 冀州市| 全州县| 高淳县| 禹城市| 泽普县| 高邑县| 海伦市| 临江市| 太和县| 峡江县| 长沙市| 新野县| 莆田市| 临猗县| 新河县| 景泰县| 航空| 吉木乃县| 四子王旗| 时尚| 五河县| 图片| 奇台县| 庄浪县| 新乐市| 荔波县| 淮安市| 蒲城县| 临澧县| 丰镇市| 清涧县| 华安县| 拉萨市| 泉州市| 炎陵县| 天柱县| 昌江| 中阳县|