MyBatis一对一关系的实现配置释义

具体工程代码参考:https://download.csdn.net/download/chpllp/10586096

<?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="com.java1234.mappers.StudentMapper">
	<!--  对象级联
	<resultMap type="Student" id="StudentResult">
		<id property="id" column="id"/>
		<result property="name" column="name"/>
		<result property="age" column="age"/>
		
		<result property="address.id" column="addressId"/>  //此处column使用外键
		<result property="address.sheng" column="sheng"/>
		<result property="address.shi" column="shi"/>
		<result property="address.qu" column="qu"/>
	</resultMap>
	-->
	
	<!--
	<resultMap type="Address" id="AddressResult">
		<result property="id" column="id"/>
		<result property="sheng" column="sheng"/>
		<result property="shi" column="shi"/>
		<result property="qu" column="qu"/>
	</resultMap>
	<resultMap type="Student" id="StudentResult">
		<id property="id" column="id"/>
		<result property="name" column="name"/>
		<result property="age" column="age"/>
		<association property="address" resultMap="AddressResult"/>
	</resultMap>
	-->
	
	<!--
	<resultMap type="Student" id="StudentResult">
		<id property="id" column="id"/>
		<result property="name" column="name"/>
		<result property="age" column="age"/>
		<association property="address" javaType="Address">
			<result property="id" column="id"/>
			<result property="sheng" column="sheng"/>
			<result property="shi" column="shi"/>
			<result property="qu" column="qu"/>
		</association>
	</resultMap>
	-->
	<!-- 上述三种配置为对象级联,不需要创建AddressMapper.java和AddressMapper.xml两个文件-->
	<!-- 开发中推荐使用下面的配置 -->
	<resultMap type="Student" id="StudentResult">
		<id property="id" column="id"/>
		<result property="name" column="name"/>
		<result property="age" column="age"/>
		<!-- 下面的column="addressId"是t_address表的外键 -->
		<association property="address" column="addressId" select="com.java1234.mappers.AddressMapper.findById"/>
	</resultMap>         
	
	<select id="findStudentWithAddress" parameterType="Integer" resultMap="StudentResult">
		select * from t_student t1,t_address t2 where t1.addressId=t2.id and t1.id=#{id}
	</select>
	
	<insert id="add" parameterType="Student"  >
		insert into t_student values(null,#{name},#{age})
	</insert>

	<update id="update" parameterType="Student">
		update t_student set name=#{name},age=#{age} where id=#{id}
	</update>
	
	<delete id="delete" parameterType="Integer">
		delete from t_student where id=#{id}
	</delete> 
	
	<select id="findById" parameterType="Integer" resultType="Student">
		select * from t_student where id=#{id}
	</select>
	
	<select id="find" resultMap="StudentResult">
		select * from t_student
	</select>
	
</mapper> 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值