dbking

数据库的统一包装工具
授权协议 LGPL
开发语言 Java
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 国产
投 递 者 高山
操作系统 跨平台
开源组织
适用人群 未知
 软件概览
 

 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/

 相关资料
  • 本文向大家介绍数据库安装包和升级包脚本工具RedGate使用介绍,包括了数据库安装包和升级包脚本工具RedGate使用介绍的使用技巧和注意事项,需要的朋友参考一下 这篇日志记录一下我在公司所学习到的数据库安装包的设计。正好这些内容也是我最近工作遇到的一些问题,在此记录并分享一下。   在产品的开发和版本更新过程中,数据库的结构难免会一直发生变化。为了尽量减少升级时的工作量,设计一个好的数据库升级方

  • 在执行应用程序检查后,我的firebase实时数据库在我的unity应用程序中无法工作。在firebase应用程序检查功能之前,它完全可以正常工作。但现在,当我试图保存数据时,它拒绝了我的数据库请求,当我在app check monitor中监视我的实时数据库时,它显示我的请求没有包含app check令牌: 这可能是因为您正在使用旧的firebase SDK,其中应用程序检查位于应用程序内部 我

  • 事务处理 索引

  • 一、本功能说明 对全站数据进行导出备份或者将备份的数据库恢复 注意事项:   备份数据请确保根目录的caches文件夹具有写入权限。 二、子功能导航 1.数据备份 2.数据还原 3.数据修复 三、功能详解 1.数据备份 1).如何进入本功能 导航栏 选择扩展 -> 菜单栏 选择 数据库工具 2).界面解释 点击后显示如下界面 界面详述 1). 分卷大小: 您可以自行定义单个数据包文件的大小,不建议

  • 本文向大家介绍CentOS6.7系统中编译安装MariaDB数据库,包括了CentOS6.7系统中编译安装MariaDB数据库的使用技巧和注意事项,需要的朋友参考一下 环境:CentOS6.7,minimal安装。 前提条件:安装了编译环境,安装了Apache。 1、下载解压 2、创建数据目录 3、添加用户和组 4、添加连接文件 5、更改文件所有者和属组 6、初始化数据库 [root@localh

  • 主要内容:添加数据源PyCharm支持各种类型数据库的接口支持。 当用户授予对创建的数据库的访问权限,它就会使用提供代码完成的SQL编写工具提供数据库的模式图。 在本章中,我们将重点介绍MySQL数据库连接,其中涉及以下步骤。 添加数据源 请注意PyCharm支持各种数据库连接,这一点很重要。 第1步 打开数据库工具窗口:View -> Tool Windows -> Database,并打开名为数据源和对话框的对话