bboss持久层数据库适配器编写和注册方法

简介: bboss持久层数据库适配器编写和注册方法 bboss持久层默认提供了以下数据库的适配器: as400 db2app db2net cloudscape hypersonic interbase instantdb mssql mysql mariadb oracle...
bboss持久层数据库适配器编写和注册方法
bboss持久层默认提供了以下数据库的适配器:
  • as400
  • db2app
  • db2net
  • cloudscape
  • hypersonic
  • interbase
  • instantdb
  • mssql
  • mysql
  • mariadb
  • oracle
  • postgresql
  • sapdb
  • sybase
  • weblogic
  • axion
  • informix
  • odbc
  • msaccess
  • derby
  • sqlite


随着数据库技术的发展,不断有新的数据库技术出现,因此我们需要针对这些新的数据库实现特定的适配器,本文介绍如何实现具体的适配器,以国内的达梦数据库为示例。

1.编写适配器
所有的适配器都需要继承抽象类:
com.frameworkset.orm.adapter.DB
可以任意扩展实现抽象类中DB的方法,比如生成分页sql的方法,如果不需要则无需覆盖。扩展适配器的分页机制实例: http://yin-bp.iteye.com/blog/1278360
达梦数据库适配器:
package com.frameworkset.orm.adapter;
import java.sql.Connection;
import java.sql.SQLException;

import com.frameworkset.orm.adapter.DB;

public class DBDM extends DB{

	@Override
	public String toUpperCase(String in) {
		// TODO Auto-generated method stub
		return in;
	}

	@Override
	public String getIDMethodType() {
		// TODO Auto-generated method stub
		return NO_ID_METHOD;
	}

	@Override
	public String getIDMethodSQL(Object obj) {
		// TODO Auto-generated method stub
		return "";
	}

	@Override
	public void lockTable(Connection con, String table) throws SQLException {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void unlockTable(Connection con, String table) throws SQLException {
		// TODO Auto-generated method stub
		
	}

	@Override
	public String ignoreCase(String in) {
		// TODO Auto-generated method stub
		return in;
	}

}


2.注册适配器
写好后,在poolman.xml中进行配置注册即可:
<poolman>  
    <adaptor dbtype="dm">com.frameworkset.orm.adapter.DBDM</adaptor> 
     <adaptor dbtype="dm.jdbc.driver.DmDriver">com.frameworkset.orm.adapter.DBDM</adaptor>
....
</poolman>


这里需要注册了两次,一次以dm数据库的驱动程序dm.jdbc.driver.DmDriver进行注册,一个以dm作为别名进行注册,这样便于在编写多数据库sql语句时使用这个别名配置特定数据库的sql语句,bboss持久层配置多数据库语句的文档请参考:
http://yin-bp.iteye.com/blog/1180111

注意:
adaptor 的dbtype属性值可以是一个别名,或者直接是对应数据库的驱动包路径,例如:oracle.jdbc.driver.OracleDriver
上面也用达梦数据库的驱动dm.jdbc.driver.DmDriver注册了我们自己写的达梦数据库适配器,同时也用一个简写的别名dm注册了达梦数据库适配器。
默认的dbtype别名有:
  • as400
  • db2app
  • db2net
  • cloudscape
  • hypersonic
  • interbase
  • instantdb
  • mssql
  • mysql
  • mariadb
  • oracle
  • postgresql
  • sapdb
  • sybase
  • weblogic
  • axion
  • informix
  • odbc
  • msaccess
  • derby
  • sqlite


如果dbtype使用的别名与默认别名重复,则将覆盖默认的数据库适配器,如果不想,则需要指定其他的别名,比如下面的dbtype="myoracle",这样我们要引用这个适配器的话,需要在datasource中明确指定这个别名:
<datasource>
       ...........
   <dbtype>myoracle</dbtype>
..............
</datasource>


如果数据源指定了dbtype,则bboss持久层加载数据源会通过对于的dbtype检索注册的数据库适配器,否则会通过数据库驱动包路径检索对应的数据库适配器。
目录
相关文章
|
26天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
3月前
|
设计模式 NoSQL Java
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
99 1
|
4月前
|
Oracle 关系型数据库 MySQL
不同数据库注释方法的随记
oracle、mysql、postgresql、Microsoft的注释方法
52 2
|
6月前
|
弹性计算 Linux 网络安全
数据库出现了网络连通性类相关问题的抓包方法
如下列举了数据库遇到连通性问题时,在三种不同的操作系统上抓包的方式。
94 2
|
6月前
|
存储 SQL 关系型数据库
linux系统中使用QT来实现数据库的调用方法
linux系统中使用QT来实现数据库的调用方法
46 0
|
6月前
|
缓存 关系型数据库 MySQL
MySQL索引原理与实践:优化数据库性能的有效方法3.0
全文索引,主键索引,唯一索引,覆盖索引,组合索引,普通索引,外键索引,空间索引,前缀索引,哈希索引等 在接下来MySQL索引原理与实践3.0中我会重点介绍mysql索引优化等一些方面相关的理论与实践,有小伙伴是从3.0开始看的,可以优先看一下1.0/2.0 http://t.csdnimg.cn/hHn9A
73 0
|
4月前
|
SQL 监控 druid
p6spy【SpringBoot集成】使用p6spy-spring-boot-starter集成p6spy监控数据库(配置方法举例)
p6spy【SpringBoot集成】使用p6spy-spring-boot-starter集成p6spy监控数据库(配置方法举例)
178 0
|
27天前
|
Oracle Java 关系型数据库
java实现遍历树形菜单方法——数据库表的创建
java实现遍历树形菜单方法——数据库表的创建
11 0

热门文章

最新文章