国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Mybatis中 SQL語句復用

Mybatis中 SQL語句復用

2020-08-28 10:02iiuk3 Java教程

這篇文章主要介紹了Mybatis中 SQL語句復用,需要的朋友可以參考下

mapper.xml 中共用

mapper.xml 間共用

項目中也許我們會遇到一段sql語句被多個查詢、增加等語句用到的情況,如何去偷懶呢,復用sql無疑是較好的選擇

這里只提供簡單的示范:

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

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

中寫下面的業務代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<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>

然后引用

?
1
2
3
4
5
6
7
8
9
10
<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>

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

該文件內容為

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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>

在另一個mapper.xml文件引用

?
1
2
3
4
5
6
7
8
9
10
<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呢?這是為了后期維護方便,如此,可以更容易找到該共有的sql在哪一個文件==

以上所述是小編給大家介紹的MybatisSQL語句復用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/sinat_33155679/article/details/61914139

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产乱码久久久久久 | 福利网在线 | 日韩在线观看中文 | 午夜视频网 | 精品久久久久久久久久久久久久久久久久 | 在线观看日韩 | 草久在线视频 | 日本久久网 | 黄色免费av | 夜夜福利| 午夜爽爽爽 | 在线视频亚洲 | 久久在线视频 | 亚洲国产高清在线 | 成人精品视频在线观看 | av看片网站 | 91精品国产综合久久香蕉的用户体验 | 国产视频一区二区三区在线观看 | av在线成人 | 免费精品 | 亚洲视频免费在线观看 | 亚洲精品一区二区三区在线 | 黄色在线观看网站 | 一区二区三区免费在线观看 | 欧美黄页| 久草 在线 | 亚洲激情在线 | 中文字幕久久精品 | 久久久91| 日本精品久久 | 欧美精品一区二区三区四区五区 | 午夜国产精品视频 | 久久久天堂国产精品女人 | 在线a∨| 欧美日一区 | 亚洲精品一区二区在线观看 | 大香伊蕉在人线视频777 | 久久亚洲一区二区三区四区 | 激情五月综合网 | 综州合另类 | 欧洲精品视频在线观看 |