什么是数据库方言?为什么要配置数据库方言?

好久没更新博客了,这段时间都在写P8文档,主要就是开发手册和指南之类的。上周刚刚写完,其中一个小伙伴看了这个文档,问了一个很有意思的问题,我觉得有必要拿出来说一下。他问什么是数据库方言?

说这个问题之前,简单介绍一下P8,P8是总行针对OpenFramework做了封装的一个框架,如果要基于这个P8进行项目开发,就需要遵循P8产品报文配置规范,交易流水的数据库留痕操作,组件外呼,应用组件约束等特点,ETC(联机交易)就是在该框架上进行开发的,因为参与了部分开发,所以领导让写了一个文档。

P8能干什么?
1)流水记录(报文交易流水和子交易流水)
2)提供CPS组装交易的开发
3)提供冲正(原报文冲正)处理流程
4)提供针对报文2.0规范的配置文件
5)外呼交易接口(普通联机外呼,带文件联机外呼,带压缩文件联机外呼,普通主动外呼,带文件主动外呼,带主动文件联机外呼)
6)服务后处理(通过jms实现)

那么,什么是数据库方言?
数据库方言就是数据库厂商的Sql语言,我们之所以要引入数据库方言,就是为了使框架能适应不同的数据库厂商而提供的一种SQL转译模块。如何理解这句话?用过Hibernate框架的小伙伴肯定也记得需要配置数据库方言,目的就是告诉Hibernate要说哪个厂商的Sql语言。

引入数据库方言的目的是为了什么?
数据库方言主要用来实现对查询的优化,实现分页语句以及count语句的自动生成,方言会生成适合于该特定数据库的效率较高的SQL语法。

因为P8框架目前只框架提供了DB2、Informix、Oracle数据库方言支持,各具体的应用需要根据自己所使用的不同数据库,引用不同的方言,所以我们只需要在这个地方进行配置即可,比如:

<!-- 数据库方言 -->
	<bean id="dialect"
		class="com.ccb.openframework.persist.dialect.OracleDialect"
		scope="singleton" />

数据库

类名

DB2

com.ccb.openframework.persist.dialect.DB2Dialect

Informix

com.ccb.openframework.persist.dialect.InformixDialect

Oracle

com.ccb.openframework.persist.dialect.OracleDialect

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值