1.重点知识回顾
购销合同查看,采用类似hibernate方式,都以对象关联方式。
(1)PO为了利用MyBatis性能,在创建时,没有采用关联对象关联,而是将对象关键字段,也就是外键,利用这个普通属性,来记录值,表数据间关联关系存在,但对象关联关系不存在。代码也就变得简单。在货物新增时,只要从主对象中携带过来,主表ID即可。
(2)VO为了方便对象关联时取数据。在列表循环货物信息时,要去查询当前货物下的附件时,如果采用上面的方式,只能再次查询。但是我们以对象关联方式,可以直接获取到当前货物下的附件集合,一次SQL所有的附件都查询出来。
PO/VO都是POJO对象。根据业务的当前环境。
货物数、附件数的查询(一个合同下多个货物,每个货物下多个附件)
方法1:代码可以通过合同号,分别去查询货物数、附件数;它需要发出多条的SQL再次查询。
方法2:利用SQL语句直接支持,它可以把一个结果集作为一个字段值,这样的SQL返回结果集必须一个列。同时在这个子查询中它的条件可以拼接动态的条件。
contract_id=t.contract_id t是总表的别称。这样引入一个动态的条件。一次类推实现了附件数的查询。
方法1和方法2效能都不高。对于方法1,要重新发出SQL子查询。效率低。对于方法2,SQL嵌套很多子查询,但是它是数据库级别(也就是运行在强大的服务器上),强大的服务器架构下的数据库能够处理复杂的嵌套语句。
(为什么重新发出SQL子查询效率就比嵌套很多子查询来查询效率低?因为每次重新发出SQL的时候,都需要重新连接数据库连接池,开启事务,然后查询完毕之后断开事务,关闭与数据库连接池的链接,然后再去进行下一条SQL的查询,所以,这中间就浪费了很多时间和资源。)
方法3效率比方法1和方法2都高,方法3是什么?
方法3:冗余+分次计算【亮点】
在表中建立货物数和附件数字段,在货物新增时,当前合同,货物数+1。删除货物,货物数-1;在附件新增时,当前合同附件数+1,删除附件时,附件数-1;删除货物时,要将其下面的附件总数从合同附件数中减去。代码考虑的比较复杂些,但它因为分散各处,计算效率很高。查询时,无需动态计算,效率奇高。
权限【亮点】
角色用户权限,大多数系统都使用此种方式。
细粒度的权限控制,控制到数据访问权限。权限架构才能解决我们实际项目的应用。(如财务)
【springmvc+mybatis项目实战】杰信商贸-23.重点知识回顾
原创光仔December ©著作权
文章标签 mybatis oracle plsql developer powerdesigner spring mvc 文章分类 HarmonyOS 后端开发
-
【Docker项目实战】使用Docker部署Raneto知识库平台
【Docker项目实战】使用Docker部署Raneto知识库平台
docker Docker Markdown -
独家|GenAI年中回顾,2024网络内容审核的API实战指南
2024 年被称为视频生成技术的爆发之年,各类 GenAI 在全球范围引领了一波又一波的潮流,真称得上是神仙打架。
GenAI 办公效率 音视频 内容审核 网络安全 -
springmvc 的原理以及工作流程(面试)
springMVC 工作流程及原理
MVC 工作流程 原理 -
【springmvc+mybatis项目实战】杰信商贸-12.重点知识回顾
1.回顾重点知识a)Oracle安装在本机安装oracle客户端,创建一个本地服务,程序
oracle plsql developer powerdesigner mybatis spring mvc -
【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
1.重点知识回顾Maven1)覆盖仓库文件,实际企业开发,公司会架一个测
plsql developer powerdesigner spring mvc mybatis oracle -
【springmvc+mybatis项目实战】杰信商贸-1.项目背景
1.项目背景杰信项目物流行业的项目,杰信商贸是国际物流行业一家专门从事
java ee 流程管理 物流 盘点 产品 -
【springmvc+mybatis项目实战】杰信商贸-19.级联删除
我们从写项目开始到现在,一共完成了生产厂家、购销合同、货物(购销
mybatis oracle plsql developer powerdesigner spring mvc -
【springmvc+mybatis项目实战】杰信商贸-24.神奇的POI
POI是干什么的呢?首先先从我们的业务下手,来逐渐里了解和掌握POI。业务:构建出货表功能:对购销合同进行月统计,按船期进行统计。我们看看我们的出货表最终是什么样的:可以看到我
mybatis spring mvc plsql developer POI JXL -
【springmvc+mybatis项目实战】杰信商贸-13.购销合同列表
我们接下来开始编写购销合同的列表业务首先我们现往我们的FACTORY_C和基
mybatis oracle plsql developer powerdesigner spring mvc -
【springmvc+mybatis项目实战】杰信商贸-17.货物修改+删除
重点知识回顾a)主从结构:1)它和主表在mapper有什么不同按对象来映射(hib
mybatis oracle plsql developer powerdesigner spring mvc -
【springmvc+mybatis项目实战】杰信商贸-25.出货表打印
我们之前学习了POI技术,可以利用POI进行自定义excel文件的生成。我们接下来下1.获取数据2.创建excel文件3
POI spring mvc mybatis JXL HSSF -
【springmvc+mybatis项目实战】杰信商贸-21.合同总金额SQL
我们上一次解决了合同的货物以及附件显示功能,接下来我们要完成我们的另一项
mybatis oracle plsql developer powerdesigner spring mvc -
【springmvc+mybatis项目实战】杰信商贸-11.购销合同业务
生产厂家我们做完了,接下来我们要做一个更加复杂的业务,就是“货运
spring mvc plsql developer powerdesigner mybatis oracle -
【springmvc+mybatis项目实战】杰信商贸-2.数据库配置
首先我们来了解项目的架构我们分别使用了MySql和Oracle数据库,即是
hibernate oracle powerdesigner plsql developer 数据库建模 -
【springmvc+mybatis项目实战】杰信商贸-28.POI百万数据打印
POI 百万数据的打印 1)从数据库读取数据,LIST在构造时十分耗费内存,还占用CPint
POI HSSF XSSF spring mvc mybatis -
【springmvc+mybatis项目实战】杰信商贸-26.出货表修饰+下载
上一次我们利用POI技术完成了出货表的取值、构建以及生产excel文件。下面我们
powerdesigner HSSF POI mybatis JXL -
【springmvc+mybatis项目实战】杰信商贸-7.生产厂家新增
我们来接着我们的项目写我们要实现新的功能,就是生产厂家的新增先来回
plsql developer powerdesigner mybatis spring mvc oracle -
【springmvc+mybatis项目实战】杰信商贸-16.新增从表货物信息
通过上几次我们已经将购销合同的所有业务完成了,接下来我们要完成的是在
mybatis oracle plsql developer powerdesigner spring mvc -
【springmvc+mybatis项目实战】杰信商贸-29.购销合同技术难点分析
我们接下来要进行最复杂的一个打印,就是购销合同的打印---制式表单的打印,业界最复杂的报表打印。a)分析技术难
mybatis spring mvc powerdesigner plsql developer POI -
【springmvc+mybatis项目实战】杰信商贸-8.生产厂家修改
上一次我们做了生产厂家的新增,下面我们来做一下生产厂家的修改回顾一下
plsql developer spring mvc mybatis oracle powerdesigner