当前位置: 首页 > news >正文

在公司平台做网站竞拍域名查询138ip

在公司平台做网站竞拍,域名查询138ip,贵州省城乡与住房建设部网站,盘州市网站建设前言我们进行数据库查询时往往需要的不止一张表的数据#xff0c;需要将多张表的数据一起查询出来#xff0c;大家学习过数据库的连接查询#xff0c;那么在MyBatis中如何将有关系的多张表数据进行关联查询呢。表的结构商品和订单是典型的一对多关系#xff0c;下面的案例我…前言我们进行数据库查询时往往需要的不止一张表的数据需要将多张表的数据一起查询出来大家学习过数据库的连接查询那么在MyBatis中如何将有关系的多张表数据进行关联查询呢。表的结构商品和订单是典型的一对多关系下面的案例我们将以商品表和订单表作为示例演示如何配置最常见的一对多关系下面是两张表的结构商品表订单表实体类的设计一种商品有多个订单每个订单对应一种商品在实体类中体现这个关系。订单实体类/** * 订单类 */public class Order { private Integer id; private Integer num; private Integer goodsId; private String time; /** * 订单对应的商品对象 */ private Goods goods;商品实体类/** * 商品类 */public class Goods { private Integer id; private String name; private Double price; private String address; /** * 订单集合 */ private ListOrder orders;Mapper接口设计这里我们只介绍关联查询所以只定义了基本的查询方法/** * 商品接口 */public interface GoodsDAO{ //根据编号查询商品 Goods selectById(int id);}/** * 订单接口 */public interface OrderDAO{ //根据订单id查询订单 Order selectById(int orderId); //根据商品id查询订单 ListOrder selectByGoodsId(int goodsId);}collection标签接下来就是重点了我们在商品类中定义了订单集合属性orders那么这个集合的数据如何进行查询呢这就需要我们在mapper文件中使用collection标签。collection标签用在resultMap标签中用于配置集合的查询用法是collection property集合属性名 column传入查询方法的列名 select查询集合所调用的方法/示例?xml version1.0 encodingUTF-8?!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd!--mapper是映射namespace是设置对应的DAO接口--mapper namespacecom.qianfeng.mybatis01.dao.GoodsDAO!--配置数据库返回结果映射-- resultMap idgoodsMap typecom.qianfeng.mybatis01.entity.Goods !--id用于配置主键property是实体类的属性名column是表中的字段名-- id propertyid columngoods_id/id !--result配置主键外其他列-- result propertyname columngoods_name/result result propertyprice columngoods_price/result result propertyaddress columngoods_address/result !--配置订单集合-- collection propertyorders columngoods_id selectcom.qianfeng.mybatis01.dao.OrderDAO.selectByGoodsId/ /resultMap select idselectById parameterTypeint resultMapgoodsMap select * from tb_goods where goods_id #{id} /select/mappercollection的意思是当商品对象需要orders集合时就会调用OrderDAO的selectByGoodsId按商品id查询所有订单商品id就是当前商品的goods_id值。association标签association标签的用法类似于collection用于配置一对一的关系每个订单中有一个商品对象goods这个对象查询可以用association来进行配置。用法association property对象属性名 column传入查询方法的列名 select查询对象所调用的方法/示例?xml version1.0 encodingUTF-8?!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd!--mapper是映射namespace是设置对应的DAO接口--mapper namespacecom.qianfeng.mybatis01.dao.OrderDAO !--配置数据库返回结果映射-- resultMap idorderMap typecom.qianfeng.mybatis01.entity.Order !--id用于配置主键property是实体类的属性名column是表中的字段名-- id propertyid columnorder_id/id !--result配置主键外其他列-- result propertynum columnorder_num/result result propertygoodsId columnorder_goods_id/result result propertytime columnorder_time/result !--配置商品对象映射-- association propertygoods columnorder_goods_id selectcom.qianfeng.mybatis01.dao.GoodsDAO.selectById/ /resultMap select idselectById parameterTypeint resultMaporderMap select * from tb_order where order_id #{id} /select select idselectByGoodsId parameterTypeint resultMaporderMap select * from tb_order where order_goods_id #{goodsId} /select/mapperassociation的意思是当订单对象需要goods对象时就调用GoodsDAO的selectById按商品id查询商品此商品id就是订单中的外键列order_goods_id。单元测试Testpublic void testGoodsAndOrders(){ GoodsDAO goodsDAO MyBatisUtils.getSession().getMapper(GoodsDAO.class); //查询商品 Goods goods goodsDAO.selectById(1); System.out.println(查询商品goods); //获得商品所有的订单 goods.getOrders().stream().forEach((order)-System.out.println(商品的订单order)); OrderDAO orderDAO MyBatisUtils.getSession().getMapper(OrderDAO.class); //查询订单 Order order orderDAO.selectById(4); System.out.println(查询订单order); //获得订单对应的商品 System.out.println(订单的商品 order.getGoods());}运行结果查询商品Goods{id1, name小米9手机, price2000.0, address上海}商品的订单Order{id1, num2, goodsId1, time2019-9-12}商品的订单Order{id4, num4, goodsId1, time2019-9-14}查询订单Order{id4, num4, goodsId1, time2019-9-14}订单的商品Goods{id1, name小米9手机, price2000.0, address上海}总结MyBatis中配置表的关联关系需要在resultMap中配置collection或association标签collection配置的是一对多关系property属性是集合的名称select配置的是查询集合的方法column配置查询方法的参数对应的列名association配置的是一对一关系property属性是对应对象的名称select配置的是查询集合的方法column配置查询方法的参数对应的列名
http://www.zqtcl.cn/news/23534/

相关文章:

  • 搭建网站硬件要求seo平台有哪些
  • 网站制作报价优惠企业宣传网站方案
  • 做个外贸网站多少费用网站的速度诊断怎么做
  • .net网站开发步骤珠宝网络营销方式
  • 监控摄像头做直播网站中国建设银行网站忘记密码
  • 青海城乡建设部网站网站开发环境配置难
  • 医院网站前置审批文件建立诊断的步骤
  • 有没有房建设计的网站阿里云主机上传网站
  • 图门市建设局网站网站名称图标如何做才能显示
  • 数据库策略网站推广的有效方法有自动交换友情链接
  • 数据网站建设多少钱wordpress标签大全文档
  • 驾校网站建设方案题婚淄博企业网站排名优化
  • 千度网站手机页面设计软件
  • 深圳网站建设的排名优化百度
  • 论述简述网站制作的步骤wordpress 微博同步插件
  • 学生做兼职哪个网站网站icp备案申请流程
  • 怎么做海淘网站WordPress下载统计
  • 免费做思维导图的网站抖音seo培训
  • 网站建设需要注意那些点网站设计做图工具
  • 商品展示网站模板源码温州网站设计案例
  • DW网站建设出现哪些问题肥城网站建设公司
  • 苏州知名网站建设公司排名惠州专业网站设计公司
  • 甘肃省住房和城乡建设局网站做问卷调查赚钱的网站
  • 网站开发代码说明书开通网站需要多少钱
  • 哪些网站可做矿机期货英文网站建设公司报价
  • 网站根域名是什么手机助手
  • 免费的推文制作网站建立网站需要哪些
  • 一元云够网站建设wordpress调用图标icon
  • 发泡机 东莞网站建设百度不做网站外链是什么
  • 精美网站制作公司wordpress主题页脚添加联系信息