<!-- 使用foreach批量插入用户-->
<insert id="insertMultiUsers">
insert into user(user_name,gender,email,address,dept_id)
values
<foreach collection="users" item="user" separator=",">
(#{user.userName},#{user.gender},#{user.email},#{user.address},#{user.deptId})
</foreach>
</insert>
<!--关联表多对一的查询-->
构造函数加一个private Dept dept;
//mapper层传一个Integer类型的id
<select id="getEmpAndDeptByEmpId" resultType="Emp">
select
t_emp.*,t_dept.* from t_emp left join t_dept
on t_emp.dept_id = t_dept.dept_id where t_emp. emp_id = #{empId}
</select>
//级联处理多对一映射问题
<resultMap id="empAndDeptResultMap" type="Emp">
<id column="emp_id" property="empId"></id>
<result column="emp_name" property="empName"></result>
<result column="age" property="age"></result>
<result column="gender" property="gender"></result>
<result column="dept_id" property="dept.deptId"></result>
<result column="dept_name" property="dept.deptName"></result>
</resultMap>
association处理多对一映射问题:
<resultMap id="empAndDeptResultMap" type="Emp">
<id column="emp_id" property="empId"></id>
<result column="emp_name" property="empName"></result>
<result column="age" property="age"></result>
<result column="gender" property="gender"></result>
<association property="dept" javaType="Dept">
<id column="dept_id" property="deptId"></id>
<result column="depk_name" property="deptName"></result>
</association>
</resultMap>
<!--关联表一对多的查询-->
构造函数加一个private List<Emp> emp;
//mapper层传一个Integer类型的id
<select id="getEmpAndDeptByEmpId" resultType="Emp">
select
t_emp.*,t_dept.* from t_emp right join t_dept
on t_emp.dept_id = t_dept.dept_id where t_emp. emp_id = #{empId}
</select>
<resultMap id="deptAndEmpResultMap" type="Dept">
<id column="dept_id" property="deptId"></id>
<result column="dept_name" property="deptName"></result>
<collection property "emp" ofype="Emp">
<id column="emp_id" property="empId"></id>
<result column="emp_name" property="empName"></result>
<result column="age" property="age"></result>
<result column="gender" property="gender"></result></collection>
</resultMap>
网友评论