ssm 开发经验 2019/5/12 mybatis 增加select 语句

  1. 使用mybatis逆向生成了一些查询sql的xml文件和java 文件后,对其进行修改,也就是加上一些功能
  2. 加入的功能是在查询员工的时候顺便把部门信息也查出来,共需要以下的步骤
    1. 新建resultmap ===============>这里需要注意的是assocication的使用,它是将一个java类当作另外一个类的成员属性的时候使用的。具体的用法是 javaType指定这个成员属性是哪个java类, property是成员属性的名字
        <resultMap id="BaseResultMapWithDept" type="ssm.bean.TblEmp">
          <id column="emp_id" jdbcType="INTEGER" property="empId" />
          <result column="emp_name" jdbcType="VARCHAR" property="empName" />
          <result column="gender" jdbcType="VARCHAR" property="gender" />
          <result column="email" jdbcType="VARCHAR" property="email" />
          <result column="d_id" jdbcType="INTEGER" property="dId" />
          <!--使用assocication来定义, 当类作为成员属性-->
          <association   javaType="ssm.bean.TblDept" property="tblDept">
            <id column="dept_id" javaType="INTEGER" property="deptId"/>
            <result column="dept_name" jdbcType="VARCHAR" property="deptName"/>
          </association>
        </resultMap>

       

    2. 使用sql标签来指定查询结果每一列的名字

      <sql id="Base_Column_List_WIth_dept">
         emp_id, emp_name, gender, email, d_id, dept_id, dept_name
        </sql>

       

    3. 编写sql 语句,由于是在查询员工的时候把部门信息也查出来,所以要用到联合查询(左连接)

        <!--这是自己添加的,查询的时候连个部门表一起查-->
        <select id="selectByExampleWithDept" parameterType="ssm.bean.TblEmpExample" resultMap="BaseResultMapWithDept">
          select
          <if test="distinct">
            distinct
          </if>
          <include refid="Base_Column_List_WIth_dept" />
          FROM tbl_emp  e LEFT JOIN tbl_dept d
          ON e.d_id = d.dept_id
          <if test="_parameter != null">
            <include refid="Example_Where_Clause" />
          </if>
          <if test="orderByClause != null">
            order by ${orderByClause}
          </if>
        </select>

       

发布了203 篇原创文章 · 获赞 18 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览