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 小时前
InnoDB事务隔离级别与加锁机制深度解析
数据库·sql·mysql
大佬,救命!!!3 小时前
python对应sql操作
开发语言·python·sql·学习笔记·学习方法
野蛮人6号5 小时前
黑马微服务报错以及解决前23节课
spring boot·微服务·mybatis
IT枫斗者6 小时前
Java 开发实战:从分层架构到性能优化(Spring Boot + MyBatis-Plus + Redis + JWT)
java·spring boot·sql·mysql·性能优化·架构
悟能不能悟6 小时前
mybatis sql where a=#{a},如果a为null,会返回什么
数据库·sql·mybatis
l1t6 小时前
豆包解读论文:将具有分支和循环控制流的命令式程序转换为标准SQL1999的公共表表达式
开发语言·数据库·人工智能·python·sql·postgresql·duckdb
rannn_1116 小时前
【SQL题解】力扣高频 SQL 50题|DAY1
后端·sql·题解
武昌库里写JAVA7 小时前
Java设计模式-(创建型)抽象工厂模式
java·vue.js·spring boot·后端·sql
正在走向自律10 小时前
Oracle迁移至金仓数据库:PL/SQL匿名块执行失败的深度排查指南
数据库·sql·oracle·国产数据库·电科金仓
running up18 小时前
MyBatis 核心知识点与实战
数据库·oracle·mybatis