SpringBoot中JPA连接DM出现如下问题


【解决办法】
替换工程中引用的Hibernate版本。使用如下几个包:
hibernate-commons-annotations-5.0.1.Final.jar
hibernate-core-5.0.11.Final.jar
hibernate-entitymanager-5.0.11.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
hibernate-validator-5.2.4.Final.jar

【问题】"C:\Program Files\Java\jdk1.8.0_231\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\lib\idea_rt.jar=53250:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_231\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\rt.jar;E:\Coding IdeaProjects\smp\smp-admin\target\classes;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-actuator\2.0.6.RELEASE\spring-boot-starter-actuator-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.0.6.RELEASE\spring-boot-actuator-autoconfigure-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-actuator\2.0.6.RELEASE\spring-boot-actuator-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\com\fasterxml\jackson\core\jackson-databind\2.9.7\jackson-databind-2.9.7.jar;D:\repo\smpRepository\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.9.7\jackson-datatype-jsr310-2.9.7.jar;D:\repo\smpRepository\repository\io\micrometer\micrometer-core\1.0.7\micrometer-core-1.0.7.jar;D:\repo\smpRepository\repository\org\hdrhistogram\HdrHistogram\2.1.10\HdrHistogram-2.1.10.jar;D:\repo\smpRepository\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-cache\2.0.6.RELEASE\spring-boot-starter-cache-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-context\5.0.10.RELEASE\spring-context-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-aop\5.0.10.RELEASE\spring-aop-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-beans\5.0.10.RELEASE\spring-beans-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-expression\5.0.10.RELEASE\spring-expression-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-context-support\5.0.10.RELEASE\spring-context-support-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-freemarker\2.0.6.RELEASE\spring-boot-starter-freemarker-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\freemarker\freemarker\2.3.28\freemarker-2.3.28.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-quartz\2.0.4.RELEASE\spring-boot-starter-quartz-2.0.4.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-tx\5.0.10.RELEASE\spring-tx-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\quartz-scheduler\quartz\2.3.0\quartz-2.3.0.jar;D:\repo\smpRepository\repository\com\mchange\mchange-commons-java\0.2.11\mchange-commons-java-0.2.11.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-devtools\2.0.6.RELEASE\spring-boot-devtools-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot\2.0.6.RELEASE\spring-boot-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-autoconfigure\2.0.6.RELEASE\spring-boot-autoconfigure-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-configuration-processor\2.0.6.RELEASE\spring-boot-configuration-processor-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\projectlombok\lombok\1.16.22\lombok-1.16.22.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter\2.0.6.RELEASE\spring-boot-starter-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;D:\repo\smpRepository\repository\org\springframework\spring-core\5.0.10.RELEASE\spring-core-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\spring-jcl\5.0.10.RELEASE\spring-jcl-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\yaml\snakeyaml\1.19\snakeyaml-1.19.jar;D:\repo\smpRepository\repository\org\springframework\spring-webmvc\5.0.10.RELEASE\spring-webmvc-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-logging\2.0.6.RELEASE\spring-boot-starter-logging-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\repo\smpRepository\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\repo\smpRepository\repository\org\apache\logging\log4j\log4j-to-slf4j\2.10.0\log4j-to-slf4j-2.10.0.jar;D:\repo\smpRepository\repository\org\apache\logging\log4j\log4j-api\2.10.0\log4j-api-2.10.0.jar;D:\repo\smpRepository\repository\org\slf4j\jul-to-slf4j\1.7.25\jul-to-slf4j-1.7.25.jar;D:\repo\smpRepository\repository\de\siegmar\logback-gelf\2.0.0\logback-gelf-2.0.0.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-web\2.0.6.RELEASE\spring-boot-starter-web-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-json\2.0.6.RELEASE\spring-boot-starter-json-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.9.7\jackson-datatype-jdk8-2.9.7.jar;D:\repo\smpRepository\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.9.7\jackson-module-parameter-names-2.9.7.jar;D:\repo\smpRepository\repository\org\springframework\boot\spring-boot-starter-tomcat\2.0.6.RELEASE\spring-boot-starter-tomcat-2.0.6.RELEASE.jar;D:\repo\smpRepository\repository\org\apache\tomcat\embed\tomcat-embed-core\8.5.34\tomcat-embed-core-8.5.34.jar;D:\repo\smpRepository\repository\org\apache\tomcat\embed\tomcat-embed-el\8.5.34\tomcat-embed-el-8.5.34.jar;D:\repo\smpRepository\repository\org\apache\tomcat\embed\tomcat-embed-websocket\8.5.34\tomcat-embed-websocket-8.5.34.jar;D:\repo\smpRepository\repository\org\hibernate\validator\hibernate-validator\6.0.13.Final\hibernate-validator-6.0.13.Final.jar;D:\repo\smpRepository\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;D:\repo\smpRepository\repository\org\springframework\spring-web\5.0.10.RELEASE\spring-web-5.0.10.RELEASE.jar;D:\repo\smpRepository\repository\org\webjars\jquery\3.3.1\jquery-3.3.1.jar;D:\repo\smpRepository\repository\org\webjars\webjars-locator-core\0.35\webjars-locator-core-0.35.jar;D:\repo\smpRepository\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\repo\smpRepository\repository\org\apache\commons\commons-lang3\3.7\commons-lang3-3.7.jar;D:\repo\smpRepository\repository\org\apache\commons\commons-compress\1.9\commons-compress-1.9.jar;D:\repo\smpRepository\repository\com\fasterxml\jackson\core\jackson-core\2.9.7\jackson-core-2.9.7.jar;D:\repo\smpRepository\repository\org\webjars\bootstrap\3.3.7\bootstrap-3.3.7.jar;D:\repo\smpRepository\repository\com\alibaba\fastjson\1.2.47\fastjson-1.2.47.jar;E:\Coding IdeaProjects\smp\smp-admin\libs\dom4j-1.6.1.jar;E:\Coding IdeaProjects\smp\smp-admin\libs\jaxen-1.1.6.jar;E:\Coding IdeaProjects\smp\smp-admin\libs\spring-boot-starter-thymeleaf-2.0.4.RELEASE.jar;D:\repo\smpRepository\repository\io\springfox\springfox-swagger2\2.7.

### 如何在Spring Boot项目中配置MyBatis连接达梦数据库 #### 1. 添加依赖项 为了使Spring Boot能够通过MyBatis访问达梦数据库,需确保项目的`pom.xml`文件中有必要的依赖项。由于Maven中央仓库不包含达梦特定的JAR包,这些库应手动加入到项目资源目录。 对于达梦数据库的支持,至少需要引入如下两个外部库: - 达梦数据库驱动 `DmJdbcDriver18.jar` - 达梦数据库方言支持 `DmDialect-for-hibernate5.3.jar` 这两个文件通常位于达梦数据库安装路径下的相应子目录内[^3]。 ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> <!-- 手动添加本地jar --> <dependencies> <!-- 假设已将所需jar放置于src/main/resources/lib/下 --> <dependency> <groupId>com.example</groupId> <artifactId>DmJdbcDriver18</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar</systemPath> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>DmDialect-for-hibernate5.3</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${project.basedir}/src/main/resources/lib/DmDialect-for-hibernate5.3.jar</systemPath> </dependency> </dependencies> ``` #### 2. 数据源配置 编辑`application.yml`或`application.properties`来设置数据源参数以及Hibernate的相关属性以便适配达梦环境。 以下是基于YAML格式的应用程序配置示例: ```yaml spring: datasource: driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://localhost:5236/LPS?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8 username: SYSTEM password: your_password_here jpa: properties: hibernate: dialect: org.hibernate.dialect.DmDialect show_sql: true ``` 注意这里的URL指向的是名为"LPS"的具体模式(schema),这对应着SYSTEM用户的LPS模式中的Student表实例[^1]。 #### 3. MyBatis Mapper接口定义 创建Mapper接口用于映射SQL语句至Java对象模型。例如针对上述提到的学生记录查询可以设计成这样: ```java @Mapper public interface StudentMapper { @Select("SELECT * FROM LPS.STUDENT WHERE ID=#{id}") Student selectById(Integer id); } ``` 此代码片段展示了如何利用MyBatis注解方式编写简单CRUD操作之一——按ID检索学生实体。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyJiang.2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值