java mybtis关联查询,iBatis/MyBatis 主子表关联查询
主表:MASTER
字段:ORDER_ID --主键
RELATE_ID --申请单位
STOCK_ADDRESS --仓库地址
TERMINAL_VENDER --供应商
PROVINCE_ID --省分ID
STATE --状态
子表:DETAIL
字段:ORDER_ID --与主表ORDER_ID关联
PROPERTY_CODE --属性编码
SALE_PRICE --价格
TERMINAL_VENDER --供应商 与主表TERMINAL_VENDER关联
PROVINCE_ID --省分ID 与主表PROVINCE_ID关联
主键为 ORDER_ID + PROPERTY_CODE
要求,取得 主表:MASTER 中STATE为1的记录,并映射成易于操作的java对象。
并关联子表,ORDER_ID、TERMINAL_VENDER、PROVINCE_ID作为查询子表的条件。
将查询出的子表数据映射成List ,作为 主表映射成对象的一个 成员变量。
以便后续操作。
定义java对象 Master,对应主表数据:
1
packagecom.test.ibatis.po;23importjava.util.List;45
/** *//**6 * 主表对应数据7*/8
publicclassMasterimplementsjava.io.Serializable{9privatestaticfinallongserialVersionUID=1L;10
/** *//**ID*/11privateString channelsId=null;12
/** *//**地址*/13privateString deliveryLoc=null;1415
/** *//**对应子表数据*/16privateListdetails=null;1718
publicString getChannelsId(){19returnchannelsId;20 }2122
publicvoidsetChannelsId(String channelsId){23this.channelsId=channelsId;24 }2526
publicString getDeliveryLoc(){27if(deliveryLoc==null)28return"";29returndeliveryLoc;30 }3132
publicvoidsetDeliveryLoc(String deliveryLoc){33this.deliveryLoc=deliveryLoc;34 }3536
publicListgetDetails(){37returndetails;38 }3940
publicvoidsetDetails(Listdetails){41this.details=details;42 }43}
定义Detail类,对应子表数据:
1
packagecom.test.ibatis.po;23importjava.text.DecimalFormat;45
publicclassDetailimplementsjava.io.Serializable{6privatestaticfinallongserialVersionUID=1L;78privatestaticfinalDecimalFormat df=newDecimalFormat("###0.00");9
/** *//**产品编号*/10privateString partNo=null;11
/** *//**价格*/12privateString price=null;1314
publicString getPartNo(){15returnpartNo;16 }1718
publicvoidsetPartNo(String partNo){19this.partNo=partNo;20 }2122
publicString getPrice(){23if(price==null)24return"0";25returndf.format(Double.parseDouble(price)/1000.0);26 }2728
publicvoidsetPrice(String price){29this.price=price;30 }31}
sql如下配置:
1
<?xml version="1.0" encoding="gbk"?>23sqlMap4 PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"5 "http://ibatis.apache.org/dtd/sql-map-2.dtd">678910111213 select="select-dtl"/>15161718192021223940
这样所有的工作都OK,
执行
List masters = (List) sqlMap.queryForList("selectData", param);
// param 为HashMap, put("PROVINCE_ID", "BJ"); 作为查询条件用。
得到 List,其中每个Master对象,都会持有 List。
要点在于
select="select-dtl" />
的配置,
即 将主表中的值传到 子查询当中作为查询条件,
这样取得的数据就是 有关系的了。
本文为原创,欢迎转载,转载请注明出处BlogJava。
java mybtis关联查询,iBatis/MyBatis 主子表关联查询相关推荐
- JimuReport积木报表(SQLserver)主子表关联查询
1,主子表关联查询 sqlserver语句:主表语句正常查询自己的条件就行(建议先去数据库测试一下语句行不行) select prd_id,status,start_date from prd_hdr ...
- mybatis主从表关联查询,返回对象带有集合属性
昨天有同事让我帮着看一个问题,mybatis主从表联合查询,返回的对象封装集合属性.我先将出现的问题记录一下,然后再讲处理方法也简单说明一下: VersionResult为接收返回数据对象,get\s ...
- SpringBoot+MyBatis多表联合查询
SpringBoot+MyBatis多表联合查询 写在前面 联合查询在实际工作中用的并不多,因为很多表的数据比较大,或者说未来比较大的表,都要谨慎使用联合查询 数据准备 建表语句 create tab ...
- 大主子表关联的性能优化方法
[摘要] 主子表是数据库最常见的关联关系之一,最典型的包括合同和合同条款.订单和订单明细.保险保单和保单明细.银行账户和账户流水.电商用户和订单.电信账户和计费清单或流量详单.当主子表的数据量较大时, ...
- oracle多表关联查询报表,oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: sql> create table student1 ( sid varchar(3), sname varchar(6), sage ...
- 查询:使用多表连接查询数据
/********************************** 查询:使用多表连接查询数据 ***********************************/ /* SQL S ...
- 14、mybatis多表关联查询 association定义关联对象封装规则及懒加载
文章目录 1.使用association单步查询 1).EmployeeMapper 2).EmployeeMapper.xml 3).Test 2.使用association进行分步查询 4).De ...
- Mybatis多表关联查询(一对多关联查询)
1.Mybatis一级缓存与二级缓存 目的:提高查询效率,降低数据库查询压力,提升系统整体性能. 一级缓存:默认开启,Session级别,同一个会话内生效. 命中缓存的情况:statementid.S ...
- MyBatis主子表查询
一.Mybatis查询语句 <select id="selectByProblemId" resultMap="findByProblemId">S ...
最新文章
- Spring Cloud【Finchley】-17 使用Zuul为单个或全部微服务提供容错与回退功能
- Java 文件及文件夹复制
- Linux管事器战略 Web站点的悄然八要素
- ios之第一个程序Hello word, I am chenyu !
- python实现解释器_Python设计模式之解释器模式
- java 搭建 web服务器 socket实现
- .Net Discovery 系列之一--string从入门到精通(上)
- 迁移学习SSD深度网络模型,实现文本行检测
- schedule_timeout与mdelay的区别
- lammps教程:推荐几个比较实用的lammps自带函数
- DLAN 连接和使用体验——Twonky
- android三分钟快速集成手势密码功能
- php errorcode,errorCode.php
- 【超图+CESIUM】【基础API使用示例】45、超图|CESIUM - 点光源设置
- 什么是飞书机器人?如何定时发送飞书机器人消息?
- ubuntu由于安装搜狗拼音导致的黑屏(或屏幕显示异常)
- python 制作 多种 词云
- 根据坐标点在图片上标记
- 【NDN基础】Named Data Networking 全文翻译
- 廖雪峰老师个人网站推荐
热门文章
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十九集
- 解决「问题」,不要解决问题
- WordPress免费主题JianYue如何设置和添加友情链接?
- 流利地回答出面试官提出的八股问题,面试官却突然说“背得不错”,该怎么回答?...
- 裂脑DNS(Split DNS)的那点旧事研究
- 【ES6】es6新特性
- NEON intrinsic 简易入门指南
- 第十六章 SQL函数 ABS
- “看得到的解说”上线 咪咕视频智能字幕带来暖心陪伴
- 小鹅通前端春招一面面经(2021.4.1)