mybatis xml 文件 sql include 的用法

mybatis xml 文件中对于重复出现的sql 片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下:

复制代码
    <sql id="Base_Column_List">
        id,name
    </sql>
    
    <select id="select">
        select
        <include refid="Base_Column_List"/>
        from t
    </select>

在sql 片段中可以使用${}传入参数,如下:

复制代码
    <sql id="Base_Column_List">
        ${tableName}.id,${tableName}.name
    </sql>
    
    <select id="select">
        select
        <include refid="Base_Column_List">
            <property name="tableName" value="t"/>
        </include>
        from t
    </select>

对于多个xml文件需要同时引用一段相同的 可以在某个xml 中定义这个 sql 代码片段,在需要引用的地方使用全称引用即可,例子如下:

ShareMapper.xml

复制代码
    <mapper namespace="com.lxw.ShareMapper">
        <sql id="Base_Column_List">
         id,name
        </sql>
    </mapper>

CustomMapper.xml

复制代码
    <mapper namespace="com.lxw.CustomMapper">
        <select id="selectSome" >
            select
            <include refid="com.lxw.ShareMapper.Base_Column_List"/>
            from t
        </select>
    </mapper>
相关推荐
独自破碎E10 分钟前
MySQL中如何进行SQL调优?
数据库·sql·mysql
一名机电研究生1 小时前
电机驱动系统智能监测与故障预测技术指南:构建数据驱动的预防性维护体系
python·sql·诊断预测
拾起零碎2 小时前
U8/对比一级科目,快速判断需要调整的报表
sql
l1t3 小时前
净化SQL的PL/pgSQL函数
数据库·sql·postgresql
Hello.Reader3 小时前
Flink MongoDB SQL Connector Scan/Lookup/Sink 全打通,Upsert、分片集群与缓存一篇讲透
sql·mongodb·flink
Mr_Xuhhh3 小时前
存储过程和触发器的总结
sql
熬夜敲代码的小N4 小时前
MySQL数据可视化实战:从SQL雕琢到图表绽放
sql·mysql·信息可视化
l1t4 小时前
一个在postgresql中运行很快,但是在duckdb中运行很慢的SQL
数据库·sql·postgresql·duckdb
码界奇点4 小时前
深入解析MySQL9主从复制架构详解从原理到实战
数据库·sql·架构·可用性测试
Klong.k4 小时前
Mybatis-plus中Save()方法的注意点
mybatis