【Java】Mybatis的include中refid属性是什么意思

图片说明

我知道refid是引用的sql的id名称,问题是我看的这个文件,当前文件中并没有一个sql标签id叫oms.vars的,请问这是什么意思,是引用的内容在外部么

10个回答

使用场景:

当我们需要重复写入字段名称的时候,我们会把一些经常使用的sql语句封装起来。当你想用使用的时候,直接根据id的值去取就可以。
避免了重复写入代码,提高代码的整洁

伪代码片段

 <sql id="Base_Column_List" >
    id, single_limit, day_limit, month_limit, state, bank_name, bank_code, channel
  </sql>
  <select id="selectByPrimaryKey" resultMap="***" parameterType="****" >
    select
    <include refid="Base_Column_List" />
    from bank_limit
    where id = #{id,jdbcType=INTEGER}
  </select>
    ```

    希望能够帮助你理解 mybatis 中的 include 用法。

当我们需要重复写入字段名称的时候,我们会把一些经常使用的sql语句封装起来。当你想用使用的时候,直接根据id的值去取就可以

1、首先定义一个sql标签,一定要定义唯一idname,age
2、然后通过id引用

select

from student

这个会自动把上面的代码贴过来

select

from student

这个会自动把上面的代码贴过来

可以引用其他其他sql标签。通过refid来指定标签id

可以定义一个sql标签,id设置为select_sql,就像这样

name,
age

然后再插入到其他sql语句中

select

from user

关联,也就是你上面sql标签的id

就是把你封装的sql字段拼接到查询语句中

就相当你可以吧前面sql标签内的内容拼接到这语句中(它的id就是和sql里面的id对应的)

相当于把你的oms.var的内容拼接到当前select语句中

立即提问