当前位置: 代码迷 >> J2SE >> 有没有人愿意加入开源项目db-unifier解决方法
  详细解决方案

有没有人愿意加入开源项目db-unifier解决方法

热度:79   发布时间:2016-04-23 20:40:50.0
有没有人愿意加入开源项目db-unifier
db-unifier
==========

db-unifier是一款基于Java的数据库处理工具集,主要包括三项主要内容:
1、为各类数据库提供统一的对象包装和操作接口
2、通过JDBC的DAO层代码生成器
3、为各种数据库之间的数据导入导出提供高效率的工具
下面对这三项功能进行详细的介绍。

1、为各类数据库提供统一的对象包装和操作接口
这类工具已经很多了,比如大家耳熟能详的Hibernate、iBatis,包括Apache的DBTools、Spring的JdbcTemplate。为什么我们还要推出db-unifier这样一个功能类似的东西呢?
这些工具的主要目的都是对JDBC进行包装,使开发人员能更容易的进行数据库开发,在代码的可读性、性能问题、移植问题上,这些工具都尽量做了权衡,达到了他们认为的完美。
db-unifier是鉴于我们的开发经验和考虑,权衡出来的数据库工具,其主要考虑的方向有以下几点:
1、简洁。所有的核心接口都在一个类里边,这个类是DbUnifier,代码不过1000行,却提供了大量的高质量功能方法。怎么读配置或通过代码来构造DbUnifier对象,都是一目了然的简单。
2、避免数据库连接泄漏的问题。数据库建立连接、关闭连接默认情况下都由db-unifier处理。有人会觉得这样影响效率,当然我们也提供自己手动控制连接的方法,只是默认情况下采用自动的方式。
3、统一的数据库操作类型。在db-unifier中,所有的数据库数据只有五种数据类型,String、Number(BigDecimal)、Timestamp、Clob(String)、Blob(byte[]),经过我们反复测试,我们会例出各种数据库数据类型到这五种类型的映射表,当然我们也有少数的数据类型不能支持,有些是JDBC驱动的问题,有些是我们出于移植的考虑,有些数据库的数据类型在别的数据库里没有对应的数据类型支持,这样的数据类型只能不予支持,幸好这只是极少的一部分。
4、简化了很多复杂的数据库操作。比如:数据库分页,非常简单的接口,而且你不用关心记录总数怎么取,不用考虑各种数据库之间的差异,最关键的是绝对的高效。再比如LOB字段的处理,可以直接通过增、删、改、查等接口处理,遇到较大的LOB,也可以用流的方式处理,避免内存溢出的问题。再比如获取数据库序列,我们采用了统一的算法,不同的数据库都使用同一个接口来获取序列,而且这个方法可以在多线程环境下使用,甚至是集群环境下都没有问题。

2、通过JDBC的DAO层代码生成器
这是一个配合db-unifier的代码生成器,生成基于db-unifier的DAO层类。有了这样类,可以简化开发代码,避免低级的书写错误,使开发者更专注于业务。另外,也可以在此基础上配合一定的代码来防止SQL注入的问题。

3、为各种数据库之间的数据导入导出提供高效率的工具
异构数据库的导入导出一直是个大难题,一般的工具配置复杂,尤其是不支持LOB这样的大字段数据,我们的这个工具不仅配置简单,而且具有以下几个特点。
1、速度非常快,这个因为取决于系统环境,这个只有谁用谁知道了,至少我们是跟别的工具作过比较的。
2、支持LOB字段的导入导出。
3、自动侦测数据库表的主、从关系,保障数据库的导入不受外键约束的影响。
4、根据配置可以选择遇到重复数据时的处理方式————忽略或者中止。

由于需要大量的测试工作,希望找一些志同道合的程序员一起来完善这个开源项目,有兴趣的快来加入
项目地址:https://code.csdn.net/tigeryu/db-unifier
------解决方案--------------------
强烈支持开源项目。

只可惜创业中,没额外时间参与。推荐支持下,让更多的小伙伴加入。
------解决方案--------------------
支持楼主  我去看下 帮你测试测试
------解决方案--------------------
我还没有这么厉害,正在菜鸟中爬行。。
我帮忙顶个贴~~
------解决方案--------------------
顶,现在在用hibernate,有时间试试.
------解决方案--------------------
这个蛮好玩的。。。
------解决方案--------------------
那是什么、。。。。。
------解决方案--------------------
加入了后以后就可能像是 apache的  成员了吗
------解决方案--------------------
这个厉害!学习一下!
------解决方案--------------------
没有这么厉害...
------解决方案--------------------
嗯,我想参加,可是没时间啊,兄弟们感兴趣的可以参加
------解决方案--------------------
我想加入,我是在校生,现在大三,有java和c基础,想历练历练
------解决方案--------------------
ORM是我用Hibernate等框架的主要原因,虽然不觉得他们足够好用。
楼主做的我理解为ORM之下的数据库接口抽象,仍然是在SQL层面上,而HB之类做的是更深层a的包装,即使我没有SQL基础也能用的API(至少是他们最初的目的)。
不是我泼楼主冷水,我只是说我的想法:我并不看好这样的项目,至少是现在这个阶段。
------解决方案--------------------
当然了。。项目叫DbUnifier本身也就说明了它并不是一个ORM的项目。。。
------解决方案--------------------
我想加入
------解决方案--------------------
本人挺支持这种项目的,可是时间还是重要呀!.
------解决方案--------------------
支持, 我java基础还不错,想参加...  现在大三,这个月要复习4级,还报了oralce班, 时间估计不太多,楼主,可以吗?
------解决方案--------------------
强烈支持。。
------解决方案--------------------
怎么个参与法,下载代码,测试代码?
------解决方案--------------------
围观关注,敢问楼主如何参与?
------解决方案--------------------

支持!能力有限,帮忙测试还是可以的
------解决方案--------------------
关注
------解决方案--------------------
没必要做这个  毫无用处
------解决方案--------------------
引用:
没必要做这个  毫无用处
说得对
------解决方案--------------------
引用:
没必要做这个  毫无用处


引用:
Quote: 引用:

没必要做这个  毫无用处
说得对


极度厌恶25、26楼的观点

不敢随意评价楼主东西的好坏,但是别人做的东西,你不喜欢就不喜欢吧,没必要在这泼冷水。

很多东西在最初的时候都会遇到像这两层这样的 阻力,希望 楼主不要受到干扰。
------解决方案--------------------
个人非常支持开源项目的发展,可惜我是菜鸟一只。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

没必要做这个  毫无用处
说得对

呵呵
一片叫好 可能楼主还以为自己做的东西多好呢,得让他知道不足

你如果不是写代码的,说没有用的,我也就不说什么了
可以你是写代码的,业内人氏,代码你看了么?
谁要是说,楼主的项目 能比得上 apache 或者 google的开源项目,说死我也不信
可以 大哥,拜托你品论之前,先去看看代码,

------解决方案--------------------
想法不错,不过
引用
所有的核心接口都在一个类里边

这个真的会有问题。
------解决方案--------------------
强烈支持开源项目
------解决方案--------------------
强烈支持,可惜目前事情比较多。过两个月如果有空,我也研究下。目前用的比较多的还是hibernate和mybatis。
------解决方案--------------------
生活都成问题了,只能表示默默的支持!楼主加油!!
------解决方案--------------------
  相关解决方案