组件版本:
Spring 5.1.1
Hibernate 5.3.6
MySql 5.7
达梦 DM8
pom.xml:
<!--dm数据库的驱动包-->
<!--https://mvnrepository.com/artifact/com.dameng/DmJdbcDriver18-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.3.140</version>
</dependency>
<!--dm数据库的方言包-->
<!--https://mvnrepository.com/artifact/com.dameng/DmDialect-for-hibernate5.6-->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmDialect-for-hibernate5.3</artifactId>
<version>8.1.3.140</version>
</dependency>
applicationContext.xml:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- DM配置连接参数 xcimsdb-->
<property name="driverClass" value="dm.jdbc.driver.DmDriver"/>
<property name="jdbcUrl" value="jdbc:dm://192.168.10.140:5236/XXXDB?logLevel=all&logDir=d:\jdbclog"/>
<property name="user" value="SYSDBA"/>
<property name="password" value="XX123456789"/>
<!-- 配置连接池 -->
<property name="initialPoolSize" value="3"/>
<property name="maxPoolSize" value="10"/>
<property name="minPoolSize" value="1"/>
<property name="acquireIncrement" value="3"/>
<property name="maxIdleTime" value="60"/>
</bean>
hibernate.cfg.xml:
<session-factory>
<!--[DM]-->
<!--事物自动提交-->
<property name="hibernate.connection.autocommit">true</property>
<!--这个属性使 Hibernate 应用为被选择的数据库生成适当的 SQL -->
<property name="hibernate.dialect">org.hibernate.dialect.DmDialect</property>
<!--针对大字段处理-->
<property name="hibernate.connection.SetBigStringTryClob">true</property>
<!--是否显示 SQL-->
<property name="hibernate.show_sql">true</property>
<!--是否将 SQL 格式化-->
<property name="hibernate.format_sql">true</property>
<!--是否自动在数据库中生成表-->
<property name="hibernate.hbm2ddl.auto">update</property>
</session-factory>
注意事项:
安装达梦数据库时注意选择数据库编码和大小写敏感。
使用达梦迁移工具将数据库名、表名和字段名都迁移为大写字母(迁移策略:保持对象名大小写不勾选)。
遇到问题:
如果梦数据库中已有应用数据库且表名为小写字母时,在启用应用会提示警告表已存在的错误信息。