当前位置: 代码迷 >> Web前端 >> 关于mybatis的使用之怎么多对一配置总结
  详细解决方案

关于mybatis的使用之怎么多对一配置总结

热度:41   发布时间:2012-08-30 09:55:54.0
关于mybatis的使用之如何多对一配置总结

有这么一种情况,用户表有字段,ID,姓名(NAME),密码(PASSWORD),学校(SCHOOL),部门(DEPT),专业(MAJOR),

其中,学校,部门,专业都是外键,关联学校表,部门表,专业表的主键,那mybatis如何配置呢,同学们且往下看。

	private Dept dept;// 部门
	private SchoolBean schoolBean;// 学校

?

		<association property="dept" column="DEPT_ID" javaType="com.zjedusoft.gdqs.bean.Dept" resultMap="deptResultMap"/>
		<association property="schoolBean" column="UNIT_ID" javaType="com.zjedusoft.gdqs.bean.SchoolBean" resultMap="SchoolResultMap"/>

?

	<resultMap id="deptResultMap" type="com.zjedusoft.gdqs.bean.Dept">
		<result property="dept_name" column="dname" />
	</resultMap>
	
	<resultMap id="SchoolResultMap" type="com.zjedusoft.gdqs.bean.SchoolBean">
		<result property="name" column="sNAME" />
	</resultMap>

?

		          select  u.*,  r.role_name as rname,d.dept_name as dname,s.name as sname
		              
               		 from ts_user_info    u     left join    ts_user_role   ur     on u.id =ur.user_id
		                                        left join    ts_role        r      on ur.role_id=r.id
							                    left join    ts_dept        d      on u.dept_id=d.id 
							                    left join    TE_SCHOOL      s      on u.UNIT_ID=s.id 
		<where> 
			<if test="keyword != '%null%'">
									 and u.USER_NAME   like #{keyword} 
			</if>   
			<if test="keyword != '%null%'">
									 or u.NAME   like #{keyword} 
			</if>   
			<if test="keyword != '%null%'">
									 or d.dept_name   like #{keyword} 
			</if>  
		</where> 

?

<td>${User.schoolBean.name}</td>
<td>${User.dept.dept_name}</td>

?

  相关解决方案