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>
相关推荐
好好学习的星熊1 小时前
SQL 面试题(数据分析师)
sql·mysql
润乾软件3 小时前
CodeBuddy+SQLazy 编写复杂 SQL 详解
数据库·sql·codebuddy·sqlazy
kisshyshy3 小时前
掘金同款社区数据库设计:9张表带你吃透建表、索引与约束
后端·sql·markdown
这个DBA有点耶4 小时前
SQL优化进阶:读懂“索引下推”,告别回表噩梦
数据库·sql·性能优化
NineData8 小时前
DTCC 2026 NineData 叶正盛:如何统一管理人与 AI Agent 的数据访问行为
数据库·人工智能·sql·oracle·agent·ninedata·dtcc
Databend9 小时前
Cluster Key 最佳实践:列怎么选、顺序怎么排与粒度设计
大数据·数据库·sql
auspicious航9 小时前
PostgreSQL统计信息:SQL调优的“眼睛”与基石
数据库·sql·postgresql
凯酱15 小时前
MyBatis 中 OGNL 的使用:从入门到实战
java·tomcat·mybatis
润乾软件1 天前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
用户938515635071 天前
掘金风格后端数据库设计实战:从用户表到分布式架构,一文搞定
后端·sql