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

Mybatis中 SQL語句復(fù)用

 更新時(shí)間:2017年03月13日 14:29:53   作者:iiuk3  
這篇文章主要介紹了Mybatis中 SQL語句復(fù)用,需要的朋友可以參考下

mapper.xml 中共用

mapper.xml 間共用

項(xiàng)目中也許我們會(huì)遇到一段sql語句被多個(gè)查詢、增加等語句用到的情況,如何去偷懶呢,復(fù)用sql無疑是較好的選擇

這里只提供簡(jiǎn)單的示范:

如果只是單表查詢,并且希望共用的sql只會(huì)出現(xiàn)在同一個(gè)mapper.xml文件中,那么我們可以直接在

<mapper namespace="XXXXX"></mapper>

中寫下面的業(yè)務(wù)代碼

<sql id="unitSql">
    a.userId,a.legalCode,legalName,
    bidderCodeType,legalRole,
    licenseNo,DATE_FORMAT(licenseEndDate,"%Y-%m-%d") AS licenseEndDate,
    taxCertNo,DATE_FORMAT(taxCertEndDate,"%Y-%m-%d") AS taxCertEndDate,
    localTaxCertNo,DATE_FORMAT(localTaxCertEndDate,"%Y-%m-%d") AS localTaxCertEndDate,
    organNo,DATE_FORMAT(organCertEndDate,"%Y-%m-%d") AS organCertEndDate,
    legalRepresent,legalType,
    perresentPhone,legalIndustary,creditRate,
    countryRegion,legalUnitAddress,regionCode,registerProvince,
    a.regCapital,a.regCapCurRency,a.regUnit,
    registerCity,registerCounty,basicBank,basicBranchBank,
    basicAccountNo,basicAccountName,legalContact,legalContactPhone,
    legalContactAddress,legalWeb,legalZipCode,legalEmail,
    legalStatus
</sql>

然后引用

<select id="getTenderAgentById" parameterType="String" resultType="Map">
    select <include refid="unitSql"/>, -- 就是這句話引用 ,refid為共有sql語句id
    b.auditOpinion,b.createUser,
    b.createTime,
    b.lastUpdateUser,
    b.lastUpdateTime,
    b.disabled,b.infoStatus
    from P_legalUnit a, P_tenderAgent b
    where b.userId=#{userId} AND a.userId = b.userId AND b.disabled='0'
</select>

如果是連表查詢,那么我們極有可能會(huì)希望有一個(gè)sql語句被多個(gè)mapper.xml引用的的方法,很簡(jiǎn)單。
我們可以新建一個(gè)mapper.xml文件(當(dāng)然,這個(gè)mapper.xml要在你的掃描路徑下,本文不贅述)。取名為common.xml

該文件內(nèi)容為

<?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="common">
  <sql id="common.unitSql">
    a.userId,a.legalCode,legalName,
    bidderCodeType,legalRole,
    licenseNo,DATE_FORMAT(licenseEndDate,"%Y-%m-%d") AS licenseEndDate,
    taxCertNo,DATE_FORMAT(taxCertEndDate,"%Y-%m-%d") AS taxCertEndDate,
    localTaxCertNo,DATE_FORMAT(localTaxCertEndDate,"%Y-%m-%d") AS localTaxCertEndDate,
    organNo,DATE_FORMAT(organCertEndDate,"%Y-%m-%d") AS organCertEndDate,
    legalRepresent,legalType,
    perresentPhone,legalIndustary,creditRate,
    countryRegion,legalUnitAddress,regionCode,registerProvince,
    a.regCapital,a.regCapCurRency,a.regUnit,
    registerCity,registerCounty,basicBank,basicBranchBank,
    basicAccountNo,basicAccountName,legalContact,legalContactPhone,
    legalContactAddress,legalWeb,legalZipCode,legalEmail,
    legalStatus
  </sql>
</mappper>

在另一個(gè)mapper.xml文件引用

<select id="getTenderAgentById" parameterType="String" resultType="Map">
    select <include refid="common.unitSql"/>, -- 就是這句話引用 ,refid為共有sql語句id
    b.auditOpinion,b.createUser,
    b.createTime,
    b.lastUpdateUser,
    b.lastUpdateTime,
    b.disabled,b.infoStatus
    from P_legalUnit a, P_tenderAgent b
    where b.userId=#{userId} AND a.userId = b.userId AND b.disabled='0'
</select>

==注:為何我的文件名要取為common.xml并且id也為common.unitSql呢?這是為了后期維護(hù)方便,如此,可以更容易找到該共有的sql在哪一個(gè)文件==

以上所述是小編給大家介紹的Mybatis中 SQL語句復(fù)用,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java中JDBC增刪改查操作詳解

    java中JDBC增刪改查操作詳解

    大家好,本篇文章主要講的是java中JDBC增刪改查操作詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 史上最簡(jiǎn)單的MyBatis動(dòng)態(tài)SQL入門示例代碼

    史上最簡(jiǎn)單的MyBatis動(dòng)態(tài)SQL入門示例代碼

    動(dòng)態(tài)sql,可以根據(jù)用戶對(duì)字段選擇和輸入,動(dòng)態(tài)生成一條sql執(zhí)行。接下來通過本文給大家分享MyBatis動(dòng)態(tài)SQL入門示例代碼,一起看看吧
    2017-03-03
  • SpringBoot時(shí)間格式化的方法小結(jié)

    SpringBoot時(shí)間格式化的方法小結(jié)

    SpringBoot中的時(shí)間格式化通常指的是將Java中的日期時(shí)間類型轉(zhuǎn)換為指定格式的字符串,或者將字符串類型的時(shí)間解析為Java中的日期時(shí)間類型,本文小編將給大家詳細(xì)總結(jié)了SpringBoot時(shí)間格式化的方法,剛興趣的小伙伴跟著小編一起來看看吧
    2023-10-10
  • Spring啟動(dòng)過程源碼分析及簡(jiǎn)介

    Spring啟動(dòng)過程源碼分析及簡(jiǎn)介

    本文是通過AnnotationConfigApplicationContext讀取配置類來一步一步去了解Spring的啟動(dòng)過程。本文重點(diǎn)給大家介紹Spring啟動(dòng)過程源碼分析及基本概念,感興趣的朋友一起看看吧
    2021-10-10
  • 淺談java的byte數(shù)組的不同寫法

    淺談java的byte數(shù)組的不同寫法

    下面小編就為大家?guī)硪黄獪\談java的byte數(shù)組的不同寫法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • 獲取Spring當(dāng)前配置的兩種方式

    獲取Spring當(dāng)前配置的兩種方式

    這篇文章主要給大家介紹了獲取Spring當(dāng)前配置的,兩種方式文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • SpringBoot配置線程池的實(shí)現(xiàn)示例

    SpringBoot配置線程池的實(shí)現(xiàn)示例

    本文主要介紹了SpringBoot配置線程池的實(shí)現(xiàn)示例,主要包括在Spring Boot中創(chuàng)建和配置線程池,包括設(shè)置線程池的大小、隊(duì)列容量、線程名稱等參數(shù),感興趣的可以了解一下
    2023-09-09
  • Java并發(fā)編程示例(三):線程中斷

    Java并發(fā)編程示例(三):線程中斷

    這篇文章主要介紹了Java并發(fā)編程示例(三):線程中斷,在本節(jié),我們所開發(fā)的示例程序?qū)?huì)創(chuàng)建一個(gè)線程,五秒鐘后,利用中斷機(jī)制強(qiáng)制中止這個(gè)線程,需要的朋友可以參考下
    2014-12-12
  • PowerJob的AliOssService工作流程源碼解讀

    PowerJob的AliOssService工作流程源碼解讀

    這篇文章主要介紹了PowerJob的AliOssServiceg工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • java實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼圖片

    java實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼圖片

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評(píng)論