mapper.xml 中共用
创新互联专注于企业成都营销网站建设、网站重做改版、巧家网站定制设计、自适应品牌网站建设、成都h5网站建设、成都做商城网站、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为巧家等各大城市提供网站开发制作服务。
mapper.xml 间共用
项目中也许我们会遇到一段sql语句被多个查询、增加等语句用到的情况,如何去偷懒呢,复用sql无疑是较好的选择
这里只提供简单的示范:
如果只是单表查询,并且希望共用的sql只会出现在同一个mapper.xml文件中,那么我们可以直接在
<mapper namespace="XXXXX"></mapper>
中写下面的业务代码
<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>
如果是连表查询,那么我们极有可能会希望有一个sql语句被多个mapper.xml引用的的方法,很简单。
我们可以新建一个mapper.xml文件(当然,这个mapper.xml要在你的扫描路径下,本文不赘述)。取名为common.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="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文件引用
<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在哪一个文件==
以上所述是小编给大家介绍的Mybatis中 SQL语句复用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对创新互联网站的支持!
网页标题:Mybatis中SQL语句复用
标题路径:https://www.cdcxhl.com/article20/ppeijo.html
成都网站建设公司_创新互联,为您提供软件开发、微信公众号、网站设计、网站策划、做网站、关键词优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联