Java_Mybatis_阶段三_关联操作(一对多和多对一的查询

一、多对一的关联操作

注:本例创建的是classRoom和Stuent表,student代表多的一方,classRoom代表一的一方。

步骤一:在多的一端的实体类中添加一的类型的对象,表示关联关系
如图:
在这里插入图片描述步骤二:
使用<resultMap>标签:声明关联关系映射关系。
resultMap标签中的属性:
id属性:给当前resultMap标签设定一个唯一标识,便于在需要的地方引用。通常是<select>标签的id+resultMap的命名方式
column属性:指定数据库表字段名
property属性:指定Java实体类的属性
如本例:

<resultMap id="selectByNameResultMap" type="cn.pojo.Student">
        <id column="sid" property="sid"></id>
        <result column="stu_name" property="stuName"></result>
        <result column="stu_age" property="stuAge"></result>
        <result column="cid" property="cid"></result>

        <!--association标签:映射[对一(对方是一的一段)]关联关系-->
        <!--property属性:在当前实体类类型中,用来建立关联关系的属性名,之后会给它赋值-->
        <!--javaType属性:被关联的实体类类型全类名-->
        <association property="classRoom" javaType="cn.pojo.classRoom">
            <!--在association标签内部指定被关联的类型和表字段的对应关系-->
            <id column="cid" property="cid"/>
            <!--对应的实体类中set和get方法应该也写成对应的小驼峰命名法property就不报红了如此类中的原来是自动生成的setclassName()改成setClassName-->
            <result column="class_name" property="className"/>
        </association>
    </resultMap>

最大的用处在于表示关联关系:
使用<association>标签,在association标签内部指定被关联的类型和表字段的对应关系。
<association property=“”>标签:映射(对一)关联关系,不管自己是(多的一方)还是(一的一方),要求对方是(一的一方)。
property属性:在当前实体类(Student)类型中,用来建立关联关系的属性名,这里是classRoom属性
javaType属性:被关联的实体类全类名(此题为classRoom)
如本例中的:

<!--association标签:映射[对一(对方是一的一段)]关联关系-->
        <!--property属性:在当前实体类类型中,用来建立关联关系的属性名,之后会给它赋值-->
        <!--javaType属性:被关联的实体类类型全类名-->
        <association property="classRoom" javaType="cn.pojo.classRoom">
            <!--在association标签内部指定被关联的类型和表字段的对应关系-->
            <id column="cid" property="cid"/>
            <!--对应的实体类中set和get方法应该也写成对应的小驼峰命名法property就不报红了如此类中的原来是自动生成的setclassName()改成setClassName-->
            <result column="class_name" property="className"/>
        </association>

尚硅谷老师完整解析图:
在这里插入图片描述

完整步骤:

测试类:

 @Test
    public void ManyToOne() throws Exception{
   
        //目标:在查询学生信息的同时,将教室信息也查询出来
        InputStream in = Resources.getResourceAsStream("Mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值