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>
相关推荐
百***812727 分钟前
从 SQL 语句到数据库操作
数据库·sql·oracle
转转技术团队1 小时前
MyBatis-Plus踩坑血泪史:那些年我们踩过的坑!
java·面试·mybatis
q***d1731 小时前
SQL性能调优
数据库·sql
chxii3 小时前
mybatis-spring 浅析
java·spring·mybatis
e***U8204 小时前
SQL在数据迁移中的脚本编写
数据库·sql
程序员小胖4 小时前
困扰我一整天的MyBatis"Invalid bound statement"问题,原来是因为这个不起眼的注解冲突!
面试·mybatis
沛沛老爹5 小时前
基于LangChain SQL Agent与自研LLM+Prompt方案的技术原理、实现路径与落地实践
sql·ai·langchain·prompt·agent·text2sql
Elias不吃糖9 小时前
SQL 注入与 Redis 缓存问题总结
c++·redis·sql
p***434810 小时前
SQL在业务智能中的分析函数
数据库·sql
tuokuac11 小时前
SQL中AND和逗号,的区别
java·数据库·sql