数据库的统一包装工具 dbking

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-24 10:26:52

软件介绍

 

 DBKing
==========

DBKing是一款基于Java的数据库处理工具集,主要包括三项主要内容:
1、为各类数据库提供统一的操作接口,尽最大可能保障各类数据库之间的移植性
2、通过生成器创建BO类及DAO层代码
3、为各类数据库之间的数据导入导出提供高效率的工具
下面对这三项功能进行详细的介绍。

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

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

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

可以在以下地址获取最新版本源代码及jar包

http://www.tigeryy.com:999/svn/sosostudio_dbking/trunk/

本文地址:https://www.codercto.com/soft/d/15286.html

Professional JavaScript for Web Developers

Professional JavaScript for Web Developers

Nicholas C. Zakas / Wrox / 2009-1-14 / USD 49.99

This eagerly anticipated update to the breakout book on JavaScript offers you an in-depth look at the numerous advances to the techniques and technology of the JavaScript language. You'll see why Java......一起来看看 《Professional JavaScript for Web Developers》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具