MyBatis | SQL映射文件详细解释

博客引用处(以下内容在原有博客基础上进行补充或更改,谢谢这些大牛的博客指导):
二、SQL语句映射文件(1)resultMap

以sql文件为例说明:

<?xml version="1.0" encoding="UTF-8"?>
<!-- namespace指定该sql映射文件对应的接口文件,全限定类名 -->
<mapper namespace="org.spring.springboot.dao.master.sqlDao">
<!-- resultMap 描述如何从结果集中拿出对象,id为标识,方便全局调用,type为对应类全限定类名。
    指定要接收的集
 -->
	<resultMap id="BaseResultMap" type="org.spring.springboot.domain.User">
		<!-- 主键映射 coulumn表中字段,property类属性字段-->
		<id column="id" property="id" />
		<!-- 其他属性字段映射 -->
		<result column="user_name" property="userName" />
		<result column="description" property="description" />
		<!-- 代表联合一对一映射查询,即User对象中含有teacherEntity对象成员。
		  表中字段和类属性映射,
		  select对应teacherMapper中id为getTeacher的sql语句,可以直接调用。
		   这样通过联合在得到一个班级实体时,同时映射出班主任实体。
		 -->
		<association property="teacherEntity" column="TEACHER_ID" select="getTeacher"/>  
	</resultMap>
	
    <!--用来指定要传入的参数集  -->
	<parameterMap id="User" type="org.spring.springboot.domain.User"/>

   <!-- 先把部分sql语句写出来,在用的时候,可以全局调用 -->
	<sql id="Base_Column_List">
		id, user_name, description
	</sql>
  <!-- 
     parameterType 传入参数的类型,全限定类名
   -->
	<select id="findByName" resultMap="BaseResultMap" parameterType="java.lang.String">
		select
		<!-- 映入全局sql语句 -->
		<include refid="Base_Column_List" />
		from user
		where id = 1
	</select>

</mapper>

老师的SQL映射文件-被上面的调用sql:

<?xml version="1.0" encoding="UTF-8"?>
<mapper namespace="org.spring.springboot.dao.master.teacherDao">

<resultMap type="TeacherEntity" id="teacherResultMap">  
    <id property="teacherID" column="TEACHER_ID" />  
    <result property="teacherName" column="TEACHER_NAME" />  
    <result property="teacherSex" column="TEACHER_SEX" />  
    <result property="teacherBirthday" column="TEACHER_BIRTHDAY"/>  
    <result property="workDate" column="WORK_DATE"/>  
    <result property="professional" column="PROFESSIONAL"/>  
</resultMap>  
  
<select id="getTeacher" parameterType="String"  resultMap="teacherResultMap">  
    SELECT *  
      FROM TEACHER_TBL TT  
     WHERE TT.TEACHER_ID = #{teacherID}  
</select>  

</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值