达梦数据库的jdbc连接配置

数据库访问是数据库应用系统中非常重要的组成部分。达梦数据库作为一个通用数据库管理系统,提供了多种数据库访问接口,包括ODBC、JDBC、API、OLEDB以及嵌入方式等。本文主要列出了在Java中常见的连接达梦数据库的方法。

1. 建立基本的JDBC 连接

JDBC(Java Database Connectivity)是Java应用程序与数据库的接口规范,旨在让各数据库开发商为Java程序员提供标准的数据库应用程序编程接口(API)。JDBC定义了一个跨数据库、跨平台的通用SQL数据库API。DM JDBC 3.0驱动程序符合SUN JDBC3.0标准,兼容DM JDBC 2.0。

DM JDBC驱动程序是DM数据库的JDBC驱动程序,它是一个能够支持基本SQL功能的通用低层应用程序编程接口,支持一般的SQL数据库访问。

要建立JDBC连接,首先要注册数据库驱动程序。可以通过调用java.sql.DriverManager类的registerDriver方法显式注册驱动程序,也可以通过加载数据库驱动程序类隐式注册驱动程序。

// 显示注册

DriverManager.registerDriver(new dm.jdbc.driver.dmDriver());

// 隐式注册

Class.forName(“dm.jdbc.driver.DmDriver”);

隐式注册过程中加载实现了 java.sql.Driver的类,该类中有一静态执行的代码段,在类加载的过程中向驱动管理器DriverManager注册该类。而这段静态执行的代码段其实就是上述显式注册的代码。

注册驱动程序之后,就可以调用驱动管理器的 getConnection方法来建立连接。建立数据库连接需要指定标示不同数据库的url、登录数据库所用的用户名user和密码password。

通过DriverManager建立连接的具体过程,如以下示例:

String driver= "dm.jdbc.driver.DmDriver";

String url= "jdbc:dm://localhost:12345/dbname";

String username="username";

String password="password";

Connection con = null;

try {

// 加载JDBC驱动程序

Class.forName(driver);

} catch (java.lang.ClassNotFoundException e) {

e.printStackTrace();

}

try {

// 数据库连接

con = DriverManager.getConnection(url, username, password);

} catch (SQLException ex) {

ex.printStackTrace();

}

2.iBatis 的连接设置

持久层中间件iBatis连接数据库的方式有3种,连接数据库的方式是JDBC,可以通过在XML文件中配置数据库连接,也可以在properties文件中配置。下面列出transactionManager的type为JDBC的3种连接配置。

dataSource 的type 为SIMPLE 的连接配置

以下是配置数据库连接参数的properties文件sql-map-config.properties的内容:

## SimpleDataSource properties

## Use only if useSimpleConfiguration=true

# DMDBMS

SimpleDriver=dm.jdbc.driver.DmDriver

SimpleUrl=jdbc:dm://localhost:12345/SYSTEM

SimpleUsername=SYSDBA

SimplePassword=SYSDBA

以下是配置文件sql-map-config.xml的内容:

PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"

"http://www.ibatis.com/dtd/sql-map-config-2.dtd">

maxSessions="64" maxTransactions="20" maxRequests="128"

useStatementNamespaces="true" />

说明:如果要优化数据库连接池,可以在sql-map-config.xml修改相关参数:

Pool.MaximumActiveConnections 最大连接数

Pool.MaximumIdleConnections 允许的挂起(idle)连接数

Pool.MaximumWait 最长等待的时间

dataSource 的type 为DHCP 的连接配置

说明:上面的${driver}等连接信息定义在另外一个properties文件或XML文件中,同dataSource的type为SIMPLE的连接配置。

dataSource 的type 为JNDI 的连接配置

说明:前提是在应用服务器中配置了JNDI为jdbc/jpetstore的配置。

3.Hibernate 的连接设置

持久层中间件Hibernate,连接数据库的方式是JDBC,通过配置文件hibernate.cfg.xml配置数据库连接设置。文件hibernate.cfg.xml的配置示例如下:

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

dm.jdbc.driver.DmDriver

jdbc:dm://localhost:12345/SYSTEM

SYSDBA

SYSDBA

50

100

5

100

600

50

true

org.hibernate.dialect.DmDialect

4.Tomcat 下配置数据连接池

Tomcat支持通过配置文件%TOMCAT_HOME%/conf/server.xml来配置数据库连接,在Tomcat中配置DM的连接,首先需要将DM的JDBC驱动程序DmJdbcDriver.jar复制到%TOMCAT_HOME%/common/lib目录下面;然后修改配置文件server.xml,在元素的最后一个子元素后添加以下子元素内容:

workDir=" D:/yourApp /work">

prefix="yourApp_log." suffix=".txt" timestamp="true"/>

factory

org.apache.commons.dbcp.BasicDataSourceFactory

maxActive

50

maxIdle

20

maxWait

500

username

SYSDBA

password

SYSDBA

driverClassName

dm.jdbc.driver.DmDriver

url

jdbc:dm://localhost:12345/SYSTEM

在Web应用中可以通过下面的代码来获取数据源和数据库连接

javax.naming.InitialContext context = new javax.naming.InitialContext();

DataSource ds = (DataSource) context.lookup( "java:/comp/env/jdbc/DMDB" );

connection = (Connection)ds.getConnection();

在使用Spring、Hibernate等技术的web应用中,可能只需要将java:/comp/env/jdbc/DMDB配置在配置文件中即可。

5.JBoss 下JNDI 连接

JBoss下配置JNDI需要修改几个配置文件,需要修改的配置文件如下:

%JBOSS_HOME% /server/default/conf/standardjaws.xml

%JBOSS_HOME %/server/default/conf/standardjbosscmp-jdbc.xml

%JBOSS_HOME %/server/default/deploy/ejb-deployer.xml

另外还要增加一个文件:%JBOSS_HOME %/server/default/deploy/DM-ds.xml

首先需要将DM的JDBC驱动程序DmJdbcDriver.jar复制到 %JBOSS_HOME% /server/default/lib目录下面。

修改%JBOSS_HOME% /server/default/conf/standardjaws.xml,将"java:/DefaultDS"改成"java:/ DMDS "。如下:java:/DMDS

修改%JBOSS_HOME%/server/default/conf/standardjbosscmp-jdbc.xml,将"java:/DefaultDS"改成"java:/DM"。如下:java:/DMDS

修改%JBOSS_HOME%/server/default/deploy/ejb-deployer.xml,将DefaultDS修改为DMDS。如下:

jboss.jca:service=DataSourceBinding,name= DMDS

增加文件%JBOSS_HOME% /server/default/deploy/DM-ds.xml,内容如下:

DMDS

jdbc:dm://localhost:12345/SYSTEM

dm.jdbc.driver.DmDriver

SYSDBA

SYSDBA

org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter

DM

6.Apusic 下数据源的配置

首先需要将DM的JDBC驱动程序DmJdbcDriver.jar复制到% APUSIC_HOME % /lib目录下面。

修改% APUSIC _HOME%/config/datasources.xml,将内容修改为:

jndi-name="jdbc/DMDS"

driver-class="dm.jdbc.driver.DmDriver"

url="jdbc:dm://localhost:12345/SYSTEM" >

总结

以上列出了在常见的web应用服务器和数据库中间件中,通过JDBC连接达梦数据库的例子。更详细的连接方式见web应用服务器和数据库中间件的文档。