mybatis中映射文件include标签的应用

目录

  • mybatis映射文件include标签应用
    • 1.引用同一个xml中的sql片段
    • 2.引用公用的sql片段
    • 3.对于多个xml文件需要同时引用一段相同的
  • mybatis sql xml include标签 (代码去重)

    mybatis映射文件include标签应用 mybatis中映射文件include标签的应用
    文章图片

    MyBatis中sql标签定义SQL片段,include标签引用,可以复用SQL片段可以使用标签提取出来,在使用的地方使用标签引用即可.sql标签中id属性对应include标签中的refid属性。通过include标签将sql片段和原sql片段进行拼接成一个完整的sql语句进行执行。
    具体用法如下:

    1.引用同一个xml中的sql片段
    res_type_id,res_typeselectfrom pub_res_type


    2.引用公用的sql片段
    include标签中也可以用property标签,用以指定自定义属性。在sql标签中通过${}取出对应的属性值
    selecta.res_type_id, as res_typefrompub_res_type a


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

    CustomMapper.xml
    selectfrom t

    使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。
    如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。
    • resultMap:适合使用返回值是自定义实体类的情况
    • resultType:适合使用返回值得数据类型是非自定义的,即jdk的提供的类型.

    mybatis sql xml include标签 (代码去重) mybatis sql xml 对于重复的代码片段 可以使用 include 标签进行优化
    例如 以下将查询条件进行优化:
    and car_no like concat('%',#{CarNo},'%')and card_no = #{CardNo} and service_type = #{serviceType} .....省略 select * from weight limit #{offset}, #{limit} select count(*) from weight

    当然 include标签不仅仅用于where, 只要重复代码片段都可使用
    【mybatis中映射文件include标签的应用】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

      推荐阅读