AppBoxFuture: 集成第三方Sql数据库
框架设计之初是不准备支持第三方数据库的,但最近几个朋友都提到需要将旧的基于传统Sql数据库的应用迁移到框架内,主要是考虑到一方面目前框架内置的分布式数据库尚未完善,另一方面是希望能逐步迭代旧应用替换传统数据库。因此作者还是决定支持第三方数据库,下面介绍如何集成第三方数据库,并将实体模型映射存储至其中。
一、创建DataStore
DataStore主要保存数据库的配置(连接)信息,通过IDE主菜单->DataStore->NewDataStore创建,创建后需要设置相应的连接信息(如下图所示),另如果是集群部署必须确保集群每一个节点都能正常连接到数据库。
目前仅实现了Postgresql的支持
二、创建EntityModel
现在新建EntityModel时必须选择对应的存储源,"Default"是框架内置的数据库,其他名称则是对应的第三方数据库。创建完实体模型后打开设计器,在"Members"面板点击"Add"按钮可添加实体成员(对应数据库表字段),如下图所示:
根据不同的存储源,实体模型设计器的选项面板会呈现不同的设置选项,Sql数据库可设置主键及索引,如下图所示:
设置完并"保存"及"发布"后,服务端会自动连接数据库创建相应的表结构。另外DbFirst模式尚未实现,实现后可反向从现有数据库生成实体模型。
三、创建ServiceModel测试ORM
上述操作完成后创建测试用的服务模型,如下图所示编写两个服务方法,一个简单并发插入实体,一个分页查询数据。
鼠标定位相应的服务方法后点击"Invoke"按钮可调用服务方法进行测试,简单并发插入实体及简单分页查询的结果分别如下图所示:
服务模型Invoke与Debug的区别:
Invoke需要保存并发布后调用,使用Release选项编译;
Debug不需要保存并发布,使用Debug选项编译,服务端有相应的Debug进程处理调试过程。
四、本篇小结
第三方数据库的支持目前只是搭了个架子,ORM部分的很多功能如更新、导航属性、复杂查询等都未实现,框架的前端工程及后端工程的源码已经迁到gitlab上,暂采用赞助的方式开放,如果您对项目感兴趣可通过下载GitHub上的运行时安装测试,然后再决定是否加入赞助者来共同推进这个项目。另一边码代码一边码文实属不易,作者需要您的支持请您多多点赞推荐!
最新文章
- 【Android自学日记】五大布局常用属性
- JQM---列车时刻查询
- HDU-4869 Turn the pokers
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
- Device Pixel Ratio &; Media Queries
- 在iptables和selinux中放行smb服务
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比[续]
- quillJS 富文本编辑器源码分析系列1
- Docker &; ASP.NET Core (4):容器间的连接
- 【前端】js中数组对象根据内容查找符合的第一个对象
- CentOS7.X中使用yum安装nginx的方法
- git--创建空的分支
- 使用fastdfs搭建文件服务器
- 20135220谈愈敏Blog2_操作系统是如何工作的
- Linux中安装Nginx
- 秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别(续)
- 在input文本框中存入对象格式的数据
- 李洪强经典面试题53-Swift
- ASP.NET MVC 1.0 哈哈。。转过来,还没学。。
- 大话tomcat之tomcat连接mysql