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

SSM--MyBatis框架SQL映射文件获取一对一或者一对多关系值

SSM–MyBatis框架SQL映射文件获取一对一或者一对多关系值

文章目录

  • SSM--MyBatis框架SQL映射文件获取一对一或者一对多关系值
    • 1.SQL映射文件获取一对一关系值(对象套对象)
    • 2.SQL映射文件获取一对多关系值(对象套集合)

1.SQL映射文件获取一对一关系值(对象套对象)

  • 实体类
//供应商实体类
public class Provider {private Integer id;   //idprivate String proCode; //供应商编码private String proName; //供应商名称private String proDesc; //供应商描述private Integer createdBy; //创建者private String creationDate; //创建时间private Integer modifyBy; //更新者private Date modifyDate;//更新时间
}
//商品订单实体类
public class Bill {private Integer id;//IDprivate String billCode;//账单编号private String productName;// 商品名称private String productDesc;//商品描述private String productUnit;//商品单位private String modifyDate;//更新时间private Provider provider;//供应商对象
}
  • BillDao.xml文件

property:实体类中对应的属性名

column: 查询列名的名字

使用association实现一对一

property:属性名

javaType:所属对象类型

<select id="findBillList" resultMap="resultBill">select a.id,a.billCode,a.productName,b.id as pid,b.proCode,b.proNamefrom smbms_bill a left join smbms_provider b on a.providerId = b.idwhere a.billCode like concat('%',#{billCode},'%')and a.productName like concat('%',#{productName},'%')
</select>
<resultMap id="resultBill" type="Bill"><!-- id标签: 表示主键 --><id property="id" column="id"/><!-- result标签: 表示普通字段 --><result property="billCode" column="billCode"/><result property="productName" column="productName"/><!-- association标签: 表示关联对象 --><!-- property: 属性名(即Bill中的对象属性) --><!-- javaType="Provider":关联对象类型 --><association property="provider" javaType="Provider"><id property="id" column="pid"/><result property="proCode" column="proCode"/><result property="proName" column="proName"/></association>
</resultMap>

2.SQL映射文件获取一对多关系值(对象套集合)

  • 实体类
//供应商实体类
public class Provider {private Integer id;   //idprivate String proCode; //供应商编码private String proName; //供应商名称private String proDesc; //供应商描述private String proContact; //供应商联系人private String proPhone; //供应商电话private String proAddress; //供应商地址private String proFax; //供应商传真private Integer createdBy; //创建者private String creationDate; //创建时间private Integer modifyBy; //更新者private Date modifyDate;//更新时间private List<Bill> billList; //订单列表
}//商品订单实体类
public class Bill {private Integer id;//IDprivate String billCode;//账单编号private String productName;// 商品名称private String productDesc;//商品描述private String productUnit;//商品单位private String modifyDate;//更新时间private Provider provider;//供应商对象
}
  • ProviderDao.xml文件

collection 实现一对多

property:实体类中集合的名称

ofType:属性名

<!-- 一对多查询 -->
<select id="findProviderBillList" resultMap="resultProviderBill">select a.id as pid,a.proCode,a.proName,b.id,b.billCode,b.productNamefrom smbms_provider aleft join smbms_bill b on a.id= b.providerId
</select>
<resultMap id="resultProviderBill" type="Provider"><id property="id" column="pid"/><result property="proCode" column="proCode"/><result property="proName" column="proName"/><collection property="billList" ofType="Bill"><id property="id" column="id"/><result property="billCode" column="billCode"/><result property="productName" column="productName"/></collection>
</resultMap>
http://www.dtcms.com/a/573219.html

相关文章:

  • 网站开发实验报告总结阿里云是不是做网站的
  • 1000元级投影选哪款?大眼橙C3D实测体验闭眼入
  • 第一章 函数与极限 2.数列的极限
  • 用ps网站首页怎么做做a免费网站有哪些
  • 多因子量化模型预警:美元强势因子压制金价失守4000关口,ADP数据能否重构黄金趋势?
  • Mac 安装 Xcode 及qt 环境安装
  • AS2协议的实时性:重构制造业供应链协同效率
  • 城乡建设部官网查证助孕网站优化推广
  • leetcode17.电话号码的数字组合(题目详解)
  • C# WebAPI Swagger如何显示接口注释
  • 三网站建设装修公司做网站有用吗
  • 怎么做谷歌收录的网站个人接广告的平台
  • Unity坐标转换指南 - 3D与屏幕UI坐标互转
  • Admin界面优化:移除可用区字段以简化显示
  • Java 位运算算法题目练习
  • 企业定制手机安全加固:数据加密、权限管控与防泄密功能解析
  • opencv 计算面积、周长
  • 静态网站设计方案二维码设计软件
  • 工装设计案例网站注册公司注册企业注册
  • 从 .wat 到 AOT:WebAssembly 开发入门全指南(WABT + WasmEdge 实战)
  • Vue2-父组件与子组件参数互传
  • 前端学习之JavaScript
  • CrewCut 项目 Alpha 阶段计划与分工
  • 湖南首条免费高速轨迹呈现:借助 Leaflet -Trackplayer 实现 WebGIS 可视化
  • NewStarCTF2025-Week5-Web
  • 0基础学前端:100天拿offer实战课(第4天)—— Flex布局实战:10分钟搞定网页“排版难题”
  • 苏州专业做网站的公司有哪些网站空间 控制面板
  • “AI+XR”赋能智慧研创中心:告别AI焦虑,重塑教师未来
  • 知识就是力量——气体检测传感器
  • Arbess零基础学习 - 使用Arbess+GitLab实现Python项目构建/主机部署