• mybatis关联查询xml文件简写,复用BaseResultMap和sql


    关联查询班级和班主任 association 或者学生 collection

    *:利用<include> property属性自动配置别名,映射结果由columnPrefix匹配。 也可手动全部写出[别名_字段]替换该标签中的内容,

     和关联查询标签中的 columnPrefix="stu_" 属性,达成复用。

    一、班级clz

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="cc.ash.ClzMapper">
    
        <!-- 通用查询映射结果 -->
        <resultMap id="BaseResultMap" type="cc.ash.Clz">
            <id column="ID" property="id"/>
            <result column="CLZ_NO" property="clzNo"/>
            <result column="CLZ_NAME" property="ClzName"/>
        </resultMap>
    
        <resultMap id="ClzStuResultMap" type="com.asion.business.module.station.model.Station" extends="BaseResultMap">
            <collection property="stu" resultMap="cc.ash.StuMapper.BaseResultMap"
                columnPrefix="stu_"></association>
        </resultMap>
    
        <!-- 通用查询结果列 -->
        <sql id="Base_Column_List">
            ID, CLZ_NO, CLZ_NAME
        </sql>
    
        <!--  <include> 利用property属性自动配置别名,映射结果由columnPrefix匹配。
        也可手动全部写出[别名_字段]替换该标签中的内容 -->
        <select id="getClzStu" resultMap="ClzStuResultMap">
            SELECT
                clz.*
                 ,
            <include refid="cc.ash.StuMapper.Alias_Column_List">
                <property name="alias" value="stu"/>
                <property name="alias_" value="stu_"/>
            </include>
            FROM
                tbl_clz clz
            LEFT JOIN tbl_stu stu ON clz.clz_no = stu.clz_no
        </select>
    </mapper>

    .

    二、学生stu

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="cc.ash.StuMapper">
    
        <!-- 通用查询映射结果 -->
        <resultMap id="BaseResultMap" type="cc.ash.Stu">
            <id column="ID" property="id" />
            <result column="NAME" property="name" />
            <result column="AGE" property="age" />
            <result column="CLZ_NO" property="clzNo" />
        </resultMap>
    
        <!-- 通用查询结果列 -->
        <sql id="Base_Column_List">
            ID, NAME, AGE, CLZ_NO
        </sql>
    
        <!-- 别名查询结果列 -->
        <sql id="Alias_Column_List">
            ${alias}.ID             AS ${alias_}id,
            ${alias}.NAME           AS ${alias_}NAME,
            ${alias}.AGE            AS ${alias_}AGE,
            ${alias}.CLZ_NO         AS ${alias_}CLZ_NO,
        </sql>
    </mapper>

    .

  • 相关阅读:
    SQL Server中生成指定长度的流水号
    属性与字段的区别
    Tomcat启动时的异常~!!!
    全面认识验证身份的数字证书
    MyEclipse 5.5 开发 Spring + Struts + Hibernate 的详解视频(长1.5小时)
    resin是什么?是Application Server吗?是WebLogic,Websphere他们的竞争对手吗?
    发现一个HTML得秘密
    用 MyEclipse 开发的最简单的 Spring 例子
    什么是WebSphere?WebSphere是干什么用的?中间件是什么意思?
    简单jsp+servlet实例
  • 原文地址:https://www.cnblogs.com/foolash/p/14368301.html
Copyright © 2020-2023  润新知