mapper.xml 中共用

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复用
# Mybatis控制台打印Sql语句的实现代码
# MyBatis 执行动态 SQL语句详解
# 详解Java的MyBatis框架中SQL语句映射部分的编写
# Oracle在Mybatis中SQL语句的配置方法
# Mybatis基于注解形式的sql语句生成实例代码
# mybatis教程之动态sql语句_动力节点Java学院整理
# 详解MyBatis直接执行SQL查询及数据批量插入
# mybatis执行批量更新batch update 的方法(oracle
# mysql两种)
# Mybatis 中的sql批量修改方法实现
# 如何批量测试Mybatis项目中的Sql是否正确详解
# 多个
# 这句话
# 我们可以
# 小编
# 复用
# 这是
# 在此
# 出现在
# 要在
# 只会
# 较好
# 给大家
# 很简单
# 也为
# 更容易
# 只提供
# 所述
# 该文件
# 给我留言
# 感谢大家
相关文章:
大学网站设计制作软件有哪些,如何将网站制作成自己app?
深入理解Android中的xmlns:tools属性
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何用花生壳三步快速搭建专属网站?
如何做网站制作流程,*游戏网站怎么搭建?
建站主机与服务器功能差异如何区分?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站之星好吗?新手能否轻松上手建站?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
制作门户网站的参考文献在哪,小说网站怎么建立?
网站制作免费,什么网站能看正片电影?
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站三合一如何选?哪家性价比更高?
建站之星如何修改网站生成路径?
如何用低价快速搭建高质量网站?
建站之星客服服务时间及联系方式如何?
企业微网站怎么做,公司网站和公众号有什么区别?
,石家庄四十八中学官网?
广州建站公司哪家好?十大优质服务商推荐
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
平台云上自主建站:模板化设计与智能工具打造高效网站
建站之星微信建站一键生成小程序+多端营销系统
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
内部网站制作流程,如何建立公司内部网站?
大同网页,大同瑞慈医院官网?
电商网站制作价格怎么算,网上拍卖流程以及规则?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
做企业网站制作流程,企业网站制作基本流程有哪些?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
小型网站制作HTML,*游戏网站怎么搭建?
如何快速搭建高效可靠的建站解决方案?
如何在Golang中指定模块版本_使用go.mod控制版本号
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
如何在云主机上快速搭建多站点网站?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
学校建站服务器如何选型才能满足性能需求?
建站10G流量真的够用吗?如何应对访问高峰?
营销式网站制作方案,销售哪个网站招聘效果最好?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
制作宣传网站的软件,小红书可以宣传网站吗?
如何通过IIS搭建网站并配置访问权限?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
建站上传速度慢?如何优化加速网站加载效率?
建站之星如何防范黑客攻击与数据泄露?
长沙做网站要多少钱,长沙国安网络怎么样?
*请认真填写需求信息,我们会在24小时内与您取得联系。