目录
多对一
指的是在多的一端维护关联关系.
用户、 组表
创建对象
用户是多的一段
Group是一的一端
创建接口
public interface UserDao {
User getUserById(int uid);
}
sql 映射文件
<?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.iotek.dao.UserDao">
<resultMap type="User" id="userMapper">
<id column="uid" property="uid"/>
<result column="uname" property="uname"/>
<!--association关联查询-->
<association property="group" javaType="Group">
<id column="gid" property="gid"/>
<result column="gname" property="gname"/>
</association>
</resultMap>
<select id="getUserById" parameterType="int" resultMap="userMapper">
SELECT gid,gname,uid,uname FROM tb_group g,tb_users u WHERE
g.gid=u.groupid AND u.uid=#{uid}
</select>
</mapper>
测试
@Test
public void getUserById() throws IOException {
SqlSession sqlSession = Utils.getSqlSessionFactory().openSession();
UserDao userDao=sqlSession.getMapper(UserDao.class);
User user=userDao.getUserById(1);
System.out.println(user.getGroup().getGname());
}