1.一对一映射
(1)修改UserMapper.xml
<?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.xx.dao.UserDao">
<resultMap id="UserResultMap" type="com.xx.entity.User">
<id column="ID" property="id" jdbcType="DECIMAL"/>
<result column="NAME" property="name" jdbcType="VARCHAR"/>
<result column="SEX" property="sex" jdbcType="CHAR"/>
<result column="AGE" property="age" jdbcType="DECIMAL"/>
<!--property指的是User类中定义的变量名称 column表示传入的参数 select指向select标签的id -->
<association property="info" column="id" select="getTeacher"/>
</resultMap>
<insert id ="addUser" parameterType="com.xx.entity.User">
INSERT INTO TB_USER(ID,NAME,SEX,AGE) VALUES (#{id},#{name},#{sex},#{age})
</insert>
<select id="getTeacher" parameterType="int" resultType="com.xx.entity.StudentInfo">
select * from STUDENTINFO t WHERE t.AGE = #{id}
</select>
<select id="getUser" resultMap="UserResultMap">
SELECT * FROM TB_USER
</select>
</mapper>
(2)添加StudentInfo.java
(3)在User.java中实例化一个StudentInfo变量
2.一对多映射
(1)修改UserMapper.xml
<?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.xx.dao.UserDao">
<resultMap id="UserResultMap" type="com.xx.entity.User">
<id column="ID" property="id" jdbcType="DECIMAL"/>
<result column="NAME" property="name" jdbcType="VARCHAR"/>
<result column="SEX" property="sex" jdbcType="CHAR"/>
<result column="AGE" property="age" jdbcType="DECIMAL"/>
<!-- fetchType表示懒加载 -->
<collection property="info" column="id" select="getTeacher" javaType="ArrayList" ofType="com.xx.entity.StudentInfo" fetchType="lazy"/>
</resultMap>
<insert id ="addUser" parameterType="com.xx.entity.User">
INSERT INTO TB_USER(ID,NAME,SEX,AGE) VALUES (#{id},#{name},#{sex},#{age})
</insert>
<select id="getTeacher" parameterType="int" resultType="com.xx.entity.StudentInfo">
select * from STUDENTINFO t WHERE t.AGE = #{id}
</select>
<select id="getUser" resultMap="UserResultMap">
SELECT * FROM TB_USER
</select>
</mapper>
(2)将一对一映射中实例化变量改为变量List,其余同上