Mybatis中 SQL语句复用

网友投稿 293 2023-06-03


Mybatis中 SQL语句复用

mapper.xml 中共用

mapper.xml 间共用

项目中也许我们会遇到一段sql语句被多个查询、增加等语句用到的情况,如何去偷懒呢,复用sql无疑是较好的选择

这里只提供简单的示范:

如果只是单表查询,并且希望共用的sql只会出现在同一个mapper.xml文件中,那么我们可以直接在

中写下面的业务代码

a.userId,a.legalCode,legalName,

bidderCodeType,legalRole,

licenseNo,DATE_FORMAT(licenseEndDatehttp://,"%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,YGHSaregisterProvince,

a.regCapital,a.regCapCurRency,a.regUnit,

registerCity,registerCounty,basicBank,basicBranchBank,

basicAccountNo,basicAccountName,legalContact,legalContactPhone,

legalContactAddress,legalWeb,legalZipCode,legalEmail,

legalStatus

然后引用

select , -- 就是这句话引用 ,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'

如果是连表查询,那么我们极有可能会希望有一个sql语句被多个mapper.xml引用的的方法,很简单。

我们可以新建一个mapper.xml文件(当然,这个mapper.xml要在你的扫描路径下,本文不赘述)。取名为common.xml

该文件内容为

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,Dhttp://ATE_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

在另一个mapper.xml文件引用

select , -- 就是这句话引用 ,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'

==注:为何我的文件名要取为common.xml并且id也为common.unitSql呢?这是为了后期维护方便,如此,可以更容易找到该共有的sql在哪一个文件==

以上所述是给大家介绍的Mybatis中 SQL语句复用,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java模拟微信抢红包的实例代码
下一篇:java this 用法详解及简单实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~