PowerDesigner规划数据库&HibernateTools逆向生成java代码

简介: 这部分内容对我来说是新知识 PowerDesigner16.5大概700M,下载安装并破解。 创建一个model并将DBMS选择为mysql 自己规划数据库数据表如下图示例 默认PowerDesigner没有comment这个列需要自己手动添加 按ctr+U唤出如下图所示窗口,添加comment列.

这部分内容对我来说是新知识
PowerDesigner16.5大概700M,下载安装并破解。
_
创建一个model并将DBMS选择为mysql
_
自己规划数据库数据表如下图示例
_
默认PowerDesigner没有comment这个列需要自己手动添加
按ctr+U唤出如下图所示窗口,添加comment列
_
然后
_
_
将下面的代码copy到上面的窗体,运行

Option   Explicit 
ValidationMode   =   True 
InteractiveMode   =   im_Batch

Dim   mdl   '   the   current   model

'   get   the   current   active   model 
Set   mdl   =   ActiveModel 
If   (mdl   Is   Nothing)   Then 
      MsgBox   "There   is   no   current   Model " 
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
Else 
      ProcessFolder   mdl 
End   If

'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view 
'   of   the   current   folder 
Private   sub   ProcessFolder(folder) 
      Dim   Tab   'running     table 
      for   each   Tab   in   folder.tables 
            if   not   tab.isShortcut   then 
                  tab.comment   =   tab.name 
                  Dim   col   '   running   column 
                  for   each   col   in   tab.columns 
                            col.comment=   col.name 
                  next 
            end   if 
      next

      Dim   view   'running   view 
      for   each   view   in   folder.Views 
            if   not   view.isShortcut   then 
                  view.comment   =   view.name 
            end   if 
      next

      '   go   into   the   sub-packages 
      Dim   f   '   running   folder 
      For   Each   f   In   folder.Packages 
            if   not   f.IsShortcut   then 
                  ProcessFolder   f 
            end   if 
      Next 
end   sub
AI 代码解读

然后把自己创建的一堆model创建为*.sql文件
_
注意文件编码格式,PowerDesigner和phpmyadmin中的格式需要保持一致
_
_
成功导入以后的提示信息
_
效果如下图所示,哈哈开心吧
_
上述内容是是使用工具创建.sql文件并在mysql的图形界面phpmyadmin上创建数据结构的过程,相当于过去的劳碌的工作也变成了文件、变成了.sql文件,变成了一个代码的作品,记录一下没有白干。
按照上述做法,可以通过重复的工作,创建整个数据库结构。但是我们的系统是需要重构数据结构,并数据迁移的,因此我们来讨论一下,数据库,怎么改?

  1. 数据库实体Entity
    旧系统实体太少要扩充,比如,版本的概念。

plm中对版本的实现是这样的1:N设计,物料和带有版本的物料是1:N的关系。
旧系统中,体现物料这个实体的有两个表:材料检验表(物料级别)和检验表(条目级别),其中前者通过Matnr+Version作为物料的唯一标识,后者通过Matnr+序号唯一标识一个条目。
材料检验表:物料1:N版本 (1个物料有N个版本)
检验表:物料1:N版本:N*M条目(1个物料有N个版本,1个版本有M个条目)
现在我们修改一下,将两个实体,扩展为三个实体:
物料表(MARA) 物料号Matnr作为唯一标识。MARA中只存储非常非常少的字段,比如3个字段。matnr ename 和 msn,这个表就是要简洁明了。根据plm中的概念(我听说的)从外部界面无法直接感知MARA,只能感知MARC。
物料版本表(MARC) 与MARA是聚合关系,一对多。这个表中体现版本等信息,目的在于,同一个物料编码的不同版本,对应的物料信息,可能完全不一样。比如换了供应商,比如材质,比如彻底就不一样了,这很有可能。MARA的msn作为MARC的外键,用来建立两个表的关联。MARC中主键为vsn,MARA的msn作为MARC的外键。
条目(ITEMS)
主键为isn,外键为vsn。
据说这样可以防止数据冗余。
上述说法,是错误的,原因是在入库检验系统中,物料是没有版本的。这个是因为入库检验中物料的数据来源是SAP中的MM模块中收货相关的报表数据,而我们公司中SAP系统的物料本身就没有版本。
SAP的物料数据来源是PLM,PLM中的物料有版本,但是升版本就必须改变物料号。既然数据源中物料的版本就是一个象征,那么入库检验的时候,物料版本是没有意义的。

对于入库检验系统,物料的意义就是一个编号,关联了待检单和检验标准。
物料----检验标准----检验条目
物料MARA : mSn(PK) 物料编码(M) 物料信息
检验标准StandardMatnr : sSn(PK) 物料编码(FK M) 版本(M)
检验条目StandardItem : iSn(PK) sSn(FK M)
物料和检验标准的关系 1:N
检验标准和检验条目的关系 N:N*M
目前对数据库的规划如下所示
_
上述内容还要继续修改,字段长度之类的
下面hibernate tools
_
_
_

目录
打赏
0
0
0
0
34
分享
相关文章
代码采纳率从 22% 到 33%,通义灵码辅助数据库智能编码实践
通义灵码本质上是一个AI agent,它已经进行了大量的优化。然而,为了更完美或有效地调用模型的潜在能力,我们在使用时仍需掌握一些技巧。通常,大多数人在使用通义灵码时会直接上手,这是 AI agent 的一个优势,即 zero shot 使用,无需任何上下文即可直接使用通义灵码的能力。
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
206 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
JVM实战—1.Java代码的运行原理
本文介绍了Java代码的运行机制、JVM类加载机制、JVM内存区域及其作用、垃圾回收机制,并汇总了一些常见问题。
JVM实战—1.Java代码的运行原理
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
65 17
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
111 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
117 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
27天前
|
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
48 5
|
2月前
|
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
203 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
3月前
|
陪玩平台中支付与结算模块的代码,陪玩系统数据库设计与代码实现
第三方支付平台对接涉及与微信支付、支付宝等API接口的调用,确保用户支付流程顺畅。结算模块根据业务规则计算陪玩师收益,强调安全性、异常处理、可扩展性和日志记录。数据库设计涵盖用户、陪玩者、订单等信息的存储管理,确保系统稳定运行。
101 12
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
236 7

热门文章

最新文章