数据库查询服务框架

Posted jinyuttt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库查询服务框架相关的知识,希望对你有一定的参考价值。

原本是为了验证前面的通信框架,在不知不觉的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数据库测试原本是想使用数据库的同步功能,一个数据库查询,一个数据库更新数据,同时备份了数据库。具体大家有兴趣就研究。

 

 

 

 

 

 

 

 

 

 

 

 

  

 

以上是关于数据库查询服务框架的主要内容,如果未能解决你的问题,请参考以下文章

hibernate框架学习之数据查询(HQL)

ThinkPhp框架:分页查询和补充框架知识

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

hibernate框架学习之数据查询(QBC)

PHP CI 框架 ,MySQL 数据查询 问题

十二CI框架之数据库查询