05 mybatis多对一

本文将阐述mybatis中的表在多对一关系的情况下完成查询操作。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • jdk-8u162-windows-x64
  • mybatis3.2.8
  • mysql 6.5

2、前提约束

操作步骤

  • 在UserMapper.java增加方法声明
Student getStudent(int id);
  • 在UserMapper.xml增加标签
    <resultMap id="getStudentResultMap" type="net.wanho.entity.Student">
        <id property="id" column="id" ></id>
        <result property="name" column="name" ></result>
        <association property="clazz" column="classid"  select="selectClass">
        </association>
    </resultMap>

    <resultMap id="selectClassResultMap" type="net.wanho.entity.Clazz">
        <id property="id" column="id"></id>
        <result property="name" column="name"></result>
    </resultMap>

    <select id="getStudent"  parameterType="java.lang.Integer" resultMap="getStudentResultMap">
        select * from t_student where id=#{id}
    </select>

    <select id="selectClass" resultMap="selectClassResultMap">
        select * from t_class where id=#{classid}
    </select>
  • 测试
String resource ="mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Student student = userMapper.getStudent(1);
System.out.println(student);

以上就是在mybatis完成多对一查询的过程。

猜你喜欢

转载自www.cnblogs.com/alichengxuyuan/p/12554767.html
05
今日推荐