普元EOS学习笔记-高低开结合方式实现图书的增删改查

1 前言

在《普元EOS学习笔记-低开实现图书的增删改查》的文章中,我描述了在精简应用中,基于低开实现图书分类的增删改查的操作,是为了简单展示EOS低开的能力。

低开天生会有一些问题,这个咱就不啰嗦了。而且,那篇文章我也留了一些问题,比如id如何以uuid方式生成,还有version字段是干什么的,这些问题用低开都没法解决。

这篇文章,我将描述在精简应用中,基于高开实现图书分类的增删改查。

2 数据表结构

数据表结构依旧采用 《普元EOS学习笔记-低开实现图书的增删改查》中的数据表。

图书分类(bk_type)

drop table if exists bk_type;
 
CREATE TABLE `bk_type` (
  `id` varchar(32) NOT NULL,
  `type_name` varchar(32) NOT NULL COMMENT '图书分类名称',
  `create_time` datetime NOT NULL COMMENT '新增时间',
  `create_user` varchar(64) NOT NULL COMMENT '新增用户',
  `update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
  `update_user` varchar(64) DEFAULT NULL COMMENT '最后更新人',
  `sort_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
  `version` int(11) NOT NULL DEFAULT '1' COMMENT '乐观锁',
  PRIMARY KEY (`id`),
  UNIQUE KEY `unq_type_name` (`type_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

图书信息(t_book_info):

 
drop table if exists bk_book_info ;
 
CREATE TABLE `bk_book_info` (
  `id` varchar(32) NOT NULL,
  `book_name` varchar(128) NOT NULL COMMENT '图书名称',
  `book_auth` varchar(128) DEFAULT NULL COMMENT '图书作者',
  `book_type_id` varchar(32) DEFAULT NULL COMMENT '图书类型id',
  
  `create_time` datetime NOT NULL COMMENT '新增时间',
  `create_user` varchar(64) NOT NULL COMMENT '新增用户',
  `update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
  `update_user` varchar(64) DEFAULT NULL COMMENT '最后更新人',
  `sort_no` int(11) NOT NULL DEFAULT '0' COMMENT '顺序编号',
  `version` int(11) NOT NULL DEFAULT '1' COMMENT '乐观锁',
  
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

3 创建精简应用

这个功能不再赘述了,见前一篇《普元EOS学习笔记-创建精简应用

本文创建的精简应用的名称是 express10 ,项目端口是 28010 。

因此,项目启动后,可以在浏览器输入地址 http://127.0.0.1:28010/ 访问。

4 创建数据集

Java操作数据库,基于ORM的思想,需要创建数据实体。

EOS低开采用创建实体集的方式,来实现ORM。

EOS高开中,可以创建数据集(dataset)来实现ORM。

高开创建数据集,首先要创建数据库连接,然后直接从数据表反向生成数据集(dataset) 。

4.1 在EOS 的ide中创建数据库连接

打开EOS ide,找到Data source Explorer 视图。

如果找不到这个视图,可以在菜单 -- 窗口 -- 显示视图 -- Data source explorer 打开该视图。

在Data Source Explorer 视图,选择 Database connections 右键,点击 New ,创建数据库连接。

呼唤出 New  Connection Profile窗口,选择对应的数据库驱动。本案例采用的数据库是 MySQL5.7 ,所以应该选择MySQL5.7的驱动,但选择MySQL后发现没有 5.7这个版本,那么就选择MySQL驱动的最高版本,然后手动制定MySQL-connection的java驱动jar文件。本案例就是手动制定的mysql-connection.jar文件的。

  • 选择数据库类型,并填写数据库连接名称

  • 选择mysql的驱动

选择了数据库类型后,点击下一步,进入到选择mysql驱动,并填写数据库连接信息的窗口。

数据库驱动 Drivers的下拉菜单中默认是空的,点击右侧的图表,打开选择驱动菜单的窗口。

看到最高版本是5.6,因为本案例采用的mysql版本是 5.7,那么这里就选择5.6这个版本吧。

但是选择后,发现出现红色异常图标,因为EOS默认是没有这个版本的mysql的驱动的,需要手动选择mysql的驱动文件。mysql的驱动文件直接在电脑上选择合适的jar文件即可,我选择的是 mysql-connector-j-8.0.33.jar 。

选中 Mysql5.6Driver后,选择上方第一个 tab(JAR List )。然后点击 Add JAR/Zip按钮,选择 mysql-connector-j-8.0.33.jar 文件即可。

建立了数据连接后,连接后,会看到数据库下的所有数据表。

bfp_xxxx   eos_xxx  lc_xxx  这些数据表,不用管,这些是EOS自带的一些数据表,业务数据库需要增加这几个表。

关键是 bk_type  和  bk_book_info 这两个数据表,这是图书分类和图书信息数据表。

针对这两个表,我们要在ide中创建数据实体,然后在低开平台针对数据实体创建页面。

4.2 基于数据表创建数据实体

在model构件下,选择 com.primeton.eos.express10.model 包,右键 - 创建 - 数据集。

填写实体名称等信息。

BookDataset穿件成功后,双击打开数据集操作页面。

然后,拖拽Data Source Explorer 中数据包 bk_type 到数据操作窗口,生成了BkType的数据实体。

生成数据实体后,双击,可以进行若干操作。这里有几个点我需要说明一下

1 主键生成策略: EOS默认采用的主键是顺序生成,这个我是不喜欢的,修改策略位 自动生成uuid 。

2 乐观锁: 必须是有version字段,这个字段就会成为乐观锁。关于乐观锁的概念,请自行百度,个人认为还是很有用的。

3 创建人、创建时间、最后更新人、最后更新时间:这是4个字段,命名固定位 create_user create_time  update_user  update_time ,这4个字段命名是不能变的,EOS会自动维护这4个字段。

5 在低开中基于数据实体创建页面

启动项目,然后afcenter中进入低开ide中。

直接创建页面,在创建页面的时候选择数据实体,就可以从高开的数据实体生成页面了。

6 结尾

至此,基于高开生成数据实体,基于低开创建页面,高低开结合进行开发的方式就实现了。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值