数据库查询服务框架

原本是为了验证前面的通信框架,在不知不觉的2个月中,越写越大。

既然写了就简单介绍下

数据库查询,主要是客户端发送sql语句到服务端,服务端查询完成以后将数据返回

客户端DBClientManager类中封装了一般的sql查询方法,按照c#的方式封装的,只需要调用不同的方法则返回不同的数据;

一般的查询均返回DBResult对象,里面的Result字段对应返回数字,表结构DataTableJson对象;

当然也可以返回sqldatareader对象,其原理是分步返回而已

构造的存储结构是按照列存储的方式,没有按照简单的object方式存储,一个int转成Object(或integer)存储会造成很大空间浪费,具体原因看java的存储,所以优化了存储;

客户端对外很简单,就是获取数据,也封装了行列结构,像一般的操作,如果是c#程序员就会感觉很熟悉,不再复述。

重点服务端,服务端除使用了表结构,行结构,列结构,还必须使用列映射;服务端使用封装的DB操作,启用连接池(自己封装的),有一些默认配置;

DBDefaultConfig.json配置连接池(建议不要修改);DBConfig.json配置数据库信息;连接池信息;

DBMapType.json设置数据库列与java的类型;现在的设置基本够了,程序中有一部分写死了,一般映射,如果使用的数据库不够则添加映射;

Server.json 配置服务端IP,端口

服务端根据客户端的调用方法返回不同具体对象与数据,已经封装

通信,封装了通信接口,可以自己实现进行替换,程序中使用了udt,为了适应程序,将udt源码进行了一定修改,方便使用。通信是动态调用的。

这个通信经过充分测试了的,应该直接使用。不清楚该通信的请自己查询

日志使用了log4j

里面也添加了客户端向服务端传送文件,测试脚本文件传送。直接使用了udt中的文件发送

数据传递,fastjason(阿里巴巴),客户端与服务端交互使用了json结构传递。

大体上是这样,就不详细写了,没有什么意义。里面有很多。服务端还把数据库操作分割成写连接池与读连接池。

原本只是想写个测试插件,符合前面的通信框架,没有想到越写越多,越大。感觉在写的过程中还可以有很多开发的;一些想法验证,就不想一一实现了,还是收了,

数据库的二进制等没有验证。所以最后粗暴的添加了一个插件接口DBPluginManager,任意添加。只要有固定的通信与文件传送,客户端与服务端就任意了。

使用数据库postgresql测试。5个字段,字符串类型,每个字段5个字符。全表查询,15w行,使用时间6秒。客户端与服务端同步。虚拟机测试。

本程序所有配置使用的是json文件,json结构。

查询以及使用的第三方包都传到csdn,git.

选择postgresql数据库测试原本是想使用数据库的同步功能,一个数据库查询,一个数据库更新数据,同时备份了数据库。具体大家有兴趣就研究。

时间: 2025-01-02 13:22:05

数据库查询服务框架的相关文章

shopnc框架数据库查询限制30条记录

   shopnc框架数据库查询方法:Model()->table("表名")->select();假如你的表中数据大于30条,你查到的 结果中会只显示30条,解决方法是:查询语句中假如limit方法,即Model()->table("表名")-> limit(false)->select();

ci框架自定义数据库查询名称(方法)

适合刚接触PHP和ci框架的人,本人也是小白 原因:官方给的数据库查询方法可能不利于记忆使用,官方给的一些方法只能进行基础查询,每次复合查询都需要拼接条件,自己定义定义方法直接调用方法即可 操作步骤: 1.ci框架官网下载好解压后的文件夹会有application这个目录,在application目录下找到models子目录,在models子目录里建一个PHP文件(名字随便起,如Base_model.php) 这个文件里就是给你写自己定义的数据库查询方法,但开头要这样写(如下),自己定义的方法写

第九十九天上课 PHP TP框架 数据库查询和增加

在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yonghuModel extends Model { } 实例化数据库的三种方法 //调用Model文件夹下的模型 public function shujuku1() { $yonghu=new \Home\Model\yonghuModel; //实例化自己创建的Model,(注意路径书写完整) var_d

分布式服务框架Dubbo使用小结

介绍: Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA 服务治理方案,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点. 其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及"请求-响应"模式的信息交换方式. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,

使用Memcached、Spring AOP构建数据库前端缓存框架

数据库访问可能是很多网站的瓶颈.动不动就连接池耗尽.内存溢出等.前面已经讲到如果我们的网站是一个分布式的大型站点,那么使用 memcached实现数据库的前端缓存是个很不错的选择:但如果网站本身足够小只有一个服务器,甚至是vps的那种,不推荐使用memcached,使 用Hibernate或者Mybatis框架自带的缓存系统就行了. 一.开启memcached服务器端服务 如果已经安装了memcached服务器端程序,请确认服务器端服务已开启. 二.引入jar 1.  alisoft-xplat

【转帖】Dubbo:来自于阿里巴巴的分布式服务框架

http://www.biaodianfu.com/dubbo.html Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点 Dubbo是一个阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式.

微服务框架Lagom介绍之一

背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建--这是比较容易的一部分内容.Lagom将其扩展到了微服务所构成的系统,这是大型的系统--也是较为困难的一部分内容,因为在这里我们会面临到分布式系统的复杂性. 通信默认是异步的--基于消息和流--但是,如果需要的话,也考虑到了使用其他的方案,如同步的REST. 持久化默认是基于事件的--使用事件溯源Ev

用Asp.net写自己的服务框架

阅读目录 开始 理解Asp.net管线 HttpHandler HttpModule 关于Content-Encoding的解释 选 HttpHandler 还是 HttpModule ? 看不见的性能问题 更多实战介绍 实战演示 - 模拟更多的HttpMethod 实战演示 - URL重写 实战演示 - URL路由 实现自己的服务框架 利用[我的服务框架]将类公开成服务 [我的服务框架]支持的序列化的种类 [我的服务框架]对gzip的支持 利用[我的服务框架]发布服务的5种方式 我对发布服务的

消息服务框架

"一切都是消息"--MSF(消息服务框架)入门简介 "一切都是消息"--这是MSF(消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,中文名称:消息服务框架,它是PDF.NET框架的一部分. 1,MSF诞生的背景 MSF最初来源于2009年,我们为某银行开发的基金投资分析系统,由于银行安全的原因并且这些投资资料属于机密资料,规定必须使用邮件系统来发送这些资料,但是邮件的收发不是直接针对人,而是两端的计算机程序.为