自建网站备案,天津关键词优化效果,分宜网站建设,银川做企业网站视频地址#xff1a;http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询#xff0c;当然你也可以用包装类来实现。不过这里不说#xff0c;做关联查询的步骤可以简单的总结为以下的几步#xff1a;…视频地址http://edu.51cto.com/sd/be679 在Mybatis中的管理表查询这里主要介绍的是一对一和一对多的关联查询的resultMap的管理配置查询当然你也可以用包装类来实现。不过这里不说做关联查询的步骤可以简单的总结为以下的几步 1.分析出表和表之间的关联关系 2.Sql语句的写法 3.在实体类中把附表的信息添加到主查询表中 4.配置resulMap 配置你主要查询表的信息 配置你关联表的信息 这里我先给出几个表的字段和关系以三张表为例用户表users订单表orders订单详情表orderDetail大概字段如下 Users Userid Uname Upassword Usex Orders Orderid Userid(外键指向用户表) Order_unmber createTime address Orderdetail Orderdetailid Orderid 外键指向订单表 Num 这三张表的关系简单的可以说成如下关系 用户表--订单表 是一对一的关系 订单表--订单详情表 是一对多的关系 一.这里先来看一下Mybatis中对于一对一关系的实现以用户表和订单表举例 这里的一个需求是查询订单表的所有信息和用户名 1.SQL语句 SELECT t_orders.* ,t_user.uname as 用户名 FROM t_orders,t_user where t_orders.useridt_user.userid 结果 2.主要查询的订单信息主要查询表所有在订单中添加User的对象 private Users user;//在订单表中关联用户表的属性getset别忘记 3.配置一个resultMap resultMap typecom.etc.entity.Orders idordersResultMap !-- 配置你主要查询表的信息 -- id columnorderid propertyorderid/ result columnuserid propertyuserid/ result columnorder_number propertyorder_number/ result columncreatetime propertycreateTime/ result columnaddress propertyaddress/ !-- 配置关联表的信息 -- !-- association:配置一对一关联表的信息 property主表中匹配关联表的那个属性 javaType该属性的全路径包类名 -- association propertyuser javaTypecom.etc.entity.User id columnuserid propertyuserid/ result columnuname propertyuname///如果还有查询别的信息只要配置column即可 /association /resultMap 调用 select idfindByOrderUser resultMapordersResultMapSELECT t_orders.* ,t_user.uname as 用户名FROM t_orders,t_user where t_orders.useridt_user.userid/select 二.多对多关联表的实现多对多的实现原理和一对一的类型所以不多做解释直接贴代码 1.Sql语句查询的订单表的全部信息和订单详情表的ID和数量 SELECT t_orders.*,t_orderdetail.orderdetailid,t_orderdetail.num FROM t_orders,t_orderdetail WHERE t_orderdetail.orderidt_orders.orderid 结果从这个结果可以看出来一个订单可以对应对个订单详细的记录 分析这里的主要查询对象还是订单表所以要在订单表中加入订单详情的对象 2.主要查询的订单信息主要查询表所有在订单中添加OrderDetail的对象并且要放在集合中 private ListOrderDetail orderDetail;//get set 别忘记 3.配置一个resultMap一对多使用collection resultMap typecom.etc.entity.Orders idorderResultMap !-- 配置 要映射的订单信息-- id columnorderid propertyorderid/ result columnuserid propertyuserid/ result columnorder_number propertyorder_number/ result columncreatetime propertycreateTime/ result columnaddress propertyaddress/ !-- 关联表的映射信息 -- !-- collection:对应查询出来的结果有多条的映射记录 property对应的主表中添加的关联表的那个属性 ofType:就相当于是一对一中的javaType -- collection propertyorderDetail ofTypecom.etc.entity.OrderDetail id columnorderdetailid propertyorderdetailid/ result columnnum propertynum/ /collection /resultMap 总结 一对一和一对多的配置原理都很类型主要就是通过配置resultMap 一对一关联表配置assocation用javaType指定关联表类型 一对多关联表配置collectionofType指定关联表类型转载于:https://www.cnblogs.com/huaixiaoz/p/5799705.html