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检索注册的数据库适配器,否则会通过数据库驱动包路径检索对应的数据库适配器。
分享到:
相关推荐
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
企业级 J2EE 开源框架:bboss
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
基于bboss新版平台项目环境搭建和代码工具使用视频教程
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
官方版本,亲测可用
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+从源代码构建首先从获取源代码然后转到目录...
elasticsearch的一个开源的辅助工具,可以批量,定时将数据库数据导入elasticsearch。
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...