SpringBoot项目集成达梦数据库
本文将介绍如何在单个SpringBoot项目中配置和使用达梦数据库(DM Database),采用简洁的单模块配置方式。
一、环境准备
- JDK版本:17
- SpringBoot版本:3.1.5
- 达梦数据库版本:DM8
- 开发工具:IntelliJ IDEA
二、项目依赖配置(pom.xml)
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.5</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>dameng-demo</artifactId>
<version>1.0.0</version>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!-- Web支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- JPA支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- 达梦数据库驱动 -->
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.1.193</version>
</dependency>
<!-- 测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
三、数据库配置(application.yml)
yaml
server:
port: 12300
servlet:
encoding:
charset: UTF-8
force: true
spring:
datasource:
driver-class-name: dm.jdbc.driver.DmDriver # 达梦驱动类
url: jdbc:dm://127.0.0.1:5237/DBSERVER?schema=WORKTEST # 连接URL
username: SYSDBA # 默认系统管理员账号
password: password # 密码
jpa:
database-platform: org.hibernate.dialect.OracleDialect # 使用Oracle方言
hibernate:
ddl-auto: none # 数据库初始化策略
show-sql: true # 显示SQL语句
properties:
hibernate:
temp.use_jdbc_metadata_defaults: false # 禁用JDBC元数据检查
format_sql: true # 格式化SQL
jdbc:
time_zone: Asia/Shanghai # 时区设置
四、代码示例
1.项目结构(简化可用)
bash
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── damengdemo/
│ │ ├── entity/ # 实体类
│ │ │ └── SysFolder.java
│ │ ├── repository/ # 数据访问层
│ │ │ └── SysFolderRepository.java
│ │ ├── service/ # 业务逻辑层
│ │ │ └── DamengTestService.java
│ │ └── DamengDemoApplication.java
│ └── resources/
│ ├── application.yml
2.实体类(SysFolder.java)
java
package com.example.damengdemo.entity;
import jakarta.persistence.*;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Entity
@Table(name = "SYS_FOLDER")
public class SysFolder implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "folder_seq")
@SequenceGenerator(name = "folder_seq", sequenceName = "SEQ_SYS_FOLDER_ID", allocationSize = 1)
@Column(name = "ID", columnDefinition = "NUMBER(20) COMMENT '主键ID'")
public Long id;
@Column(name = "NAME", nullable = false, length = 100, columnDefinition = "VARCHAR2(100) COMMENT '文件夹名称'")
public String name;
@Column(name = "PARENT_ID", nullable = false, columnDefinition = "NUMBER(20) DEFAULT 0 COMMENT '父文件夹ID(0表示根目录)'")
public Long parentId = 0L;
@Column(name = "PATH", length = 1000, columnDefinition = "VARCHAR2(1000) COMMENT '完整路径(如/1/2/3)'")
public String path;
@Column(name = "ORDER_NUM", columnDefinition = "NUMBER(10) DEFAULT 0 COMMENT '排序号'")
public Integer orderNum = 0;
@Column(name = "CREATE_BY", length = 64, columnDefinition = "VARCHAR2(64) COMMENT '创建者'")
public String createBy;
@CreationTimestamp
@Column(name = "CREATE_TIME", updatable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'")
public Date createTime;
@Column(name = "UPDATE_BY", length = 64, columnDefinition = "VARCHAR2(64) COMMENT '更新者'")
public String updateBy;
@UpdateTimestamp
@Column(name = "UPDATE_TIME", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间'")
public Date updateTime;
@Column(name = "DEL_FLAG", nullable = false, columnDefinition = "NUMBER(1) DEFAULT 0 COMMENT '删除标志(0-未删除,1-已删除)'")
public Integer delFlag = 0;
// 非数据库字段
@Transient
public List<SysFolder> children = new ArrayList<>();
@Transient
public String parentName;
}
3.Repository接口示例(SysFolderRepository.java)
java
package com.example.damengdemo.repository;
import com.example.damengdemo.entity.SysFolder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface SysFolderRepository extends JpaRepository<SysFolder, Long>, JpaSpecificationExecutor<SysFolder> {
/**
* 查询所有未删除的文件夹
*/
@Query("SELECT f FROM SysFolder f WHERE f.delFlag = 0")
List<SysFolder> findAllNotDeleted();
}
4.测试Service(DamengTestService.java)
java
package com.example.damengdemo.service;
import com.example.damengdemo.entity.SysFolder;
import com.example.damengdemo.repository.SysFolderRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@Service
public class DamengTestService implements CommandLineRunner {
@Autowired
private SysFolderRepository sysFolderRepository;
@Override
public void run(String... args) throws Exception {
insert();
query();
}
public void insert() {
sysFolderRepository.saveAll(generateTestFolders());
}
public void query() {
System.out.println("数量为: " + sysFolderRepository.findAllNotDeleted().size());
}
public static List<SysFolder> generateTestFolders() {
// 模拟用户
String currentUser = "admin";
Date now = new Date();
// 生成根文件夹
SysFolder root = new SysFolder();
root.id = 1L;
root.name = "根目录";
root.parentId = 0L;
root.path = "/1";
root.createBy = currentUser;
root.updateBy = currentUser;
root.createTime = now;
root.updateTime = now;
// 生成一级文件夹
SysFolder docFolder = createFolder(2L, "文档", 1L, "/1/2", 1, currentUser, now);
SysFolder imageFolder = createFolder(3L, "图片", 1L, "/1/3", 2, currentUser, now);
SysFolder videoFolder = createFolder(4L, "视频", 1L, "/1/4", 3, currentUser, now);
// 生成二级文件夹
SysFolder workDoc = createFolder(5L, "工作文档", 2L, "/1/2/5", 1, currentUser, now);
SysFolder personalDoc = createFolder(6L, "个人文档", 2L, "/1/2/6", 2, currentUser, now);
SysFolder vacationImage = createFolder(7L, "假期照片", 3L, "/1/3/7", 1, currentUser, now);
SysFolder tutorialVideo = createFolder(8L, "教程视频", 4L, "/1/4/8", 1, currentUser, now);
// 生成三级文件夹
SysFolder projectA = createFolder(9L, "项目A文档", 5L, "/1/2/5/9", 1, currentUser, now);
SysFolder projectB = createFolder(10L, "项目B文档", 5L, "/1/2/5/10", 2, currentUser, now);
// 构建文件夹层级关系
workDoc.children = Arrays.asList(projectA, projectB);
docFolder.children = Arrays.asList(workDoc, personalDoc);
imageFolder.children = Arrays.asList(vacationImage);
videoFolder.children = Arrays.asList(tutorialVideo);
root.children = Arrays.asList(docFolder, imageFolder, videoFolder);
return Arrays.asList(
root, docFolder, imageFolder, videoFolder,
workDoc, personalDoc, vacationImage,
tutorialVideo, projectA, projectB
);
}
private static SysFolder createFolder(Long id, String name, Long parentId,
String path, int orderNum,
String user, Date time) {
SysFolder folder = new SysFolder();
folder.id = id;
folder.name = name;
folder.parentId = parentId;
folder.path = path;
folder.orderNum = orderNum;
folder.createBy = user;
folder.updateBy = user;
folder.createTime = time;
folder.updateTime = time;
return folder;
}
}
5.启动类(DamengDemoApplication.java)
java
package com.example.damengdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.ApplicationContext;
@SpringBootApplication
public class DamengDemoApplication extends SpringBootServletInitializer {
private static ApplicationContext context;
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(DamengDemoApplication.class);
context = springApplication.run(args);
}
public static void start(String[] args) {
main(args);
}
public static void stop(String[] args) {
System.exit(SpringApplication.exit(context));
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DamengDemoApplication.class);
}
}
五、总结
实测可用,下面是整个输出日志
vbnet
"C:\Program Files\Java\jdk-17\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:53830,suspend=y,server=n -agentpath:C:\Users\Administrator\AppData\Local\Temp\2\idea_libasyncProfiler_dll_temp_folder4\libasyncProfiler.dll=version,jfr,event=wall,interval=10ms,cstack=no,file=C:\Users\Administrator\IdeaSnapshots\DamengDemoApplication_2025_04_25_141742.jfr,dbghelppath=C:\Users\Administrator\AppData\Local\Temp\2\idea_dbghelp_dll_temp_folder\dbghelp.dll,log=C:\Users\Administrator\AppData\Local\Temp\2\DamengDemoApplication_2025_04_25_141742.jfr.log.txt,logLevel=DEBUG -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2024.3\captureAgent\debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath "C:\Users\Administrator\Desktop\IdeaProjects\untitled2\target\classes;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-web\3.1.5\spring-boot-starter-web-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter\3.1.5\spring-boot-starter-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot\3.1.5\spring-boot-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.1.5\spring-boot-autoconfigure-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\3.1.5\spring-boot-starter-logging-3.1.5.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.4.11\logback-classic-1.4.11.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.4.11\logback-core-1.4.11.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.20.0\log4j-to-slf4j-2.20.0.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-api\2.20.0\log4j-api-2.20.0.jar;C:\Users\Administrator\.m2\repository\org\slf4j\jul-to-slf4j\2.0.9\jul-to-slf4j-2.0.9.jar;C:\Users\Administrator\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.33\snakeyaml-1.33.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-json\3.1.5\spring-boot-starter-json-3.1.5.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.3\jackson-databind-2.15.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.3\jackson-annotations-2.15.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.3\jackson-core-2.15.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.3\jackson-datatype-jdk8-2.15.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.3\jackson-datatype-jsr310-2.15.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.3\jackson-module-parameter-names-2.15.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\3.1.5\spring-boot-starter-tomcat-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\10.1.15\tomcat-embed-core-10.1.15.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.15\tomcat-embed-el-10.1.15.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\10.1.15\tomcat-embed-websocket-10.1.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-web\6.0.13\spring-web-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\6.0.13\spring-beans-6.0.13.jar;C:\Users\Administrator\.m2\repository\io\micrometer\micrometer-observation\1.11.5\micrometer-observation-1.11.5.jar;C:\Users\Administrator\.m2\repository\io\micrometer\micrometer-commons\1.11.5\micrometer-commons-1.11.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\6.0.13\spring-webmvc-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\6.0.13\spring-aop-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context\6.0.13\spring-context-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\6.0.13\spring-expression-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-data-jpa\3.1.5\spring-boot-starter-data-jpa-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-aop\3.1.5\spring-boot-starter-aop-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\aspectj\aspectjweaver\1.9.20\aspectjweaver-1.9.20.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\3.1.5\spring-boot-starter-jdbc-3.1.5.jar;C:\Users\Administrator\.m2\repository\com\zaxxer\HikariCP\5.0.1\HikariCP-5.0.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jdbc\6.0.13\spring-jdbc-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\hibernate\orm\hibernate-core\6.2.13.Final\hibernate-core-6.2.13.Final.jar;C:\Users\Administrator\.m2\repository\jakarta\persistence\jakarta.persistence-api\3.1.0\jakarta.persistence-api-3.1.0.jar;C:\Users\Administrator\.m2\repository\jakarta\transaction\jakarta.transaction-api\2.0.1\jakarta.transaction-api-2.0.1.jar;C:\Users\Administrator\.m2\repository\org\jboss\logging\jboss-logging\3.5.3.Final\jboss-logging-3.5.3.Final.jar;C:\Users\Administrator\.m2\repository\org\hibernate\common\hibernate-commons-annotations\6.0.6.Final\hibernate-commons-annotations-6.0.6.Final.jar;C:\Users\Administrator\.m2\repository\io\smallrye\jandex\3.0.5\jandex-3.0.5.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\Administrator\.m2\repository\net\bytebuddy\byte-buddy\1.14.9\byte-buddy-1.14.9.jar;C:\Users\Administrator\.m2\repository\org\glassfish\jaxb\jaxb-runtime\4.0.3\jaxb-runtime-4.0.3.jar;C:\Users\Administrator\.m2\repository\org\glassfish\jaxb\jaxb-core\4.0.3\jaxb-core-4.0.3.jar;C:\Users\Administrator\.m2\repository\org\eclipse\angus\angus-activation\2.0.1\angus-activation-2.0.1.jar;C:\Users\Administrator\.m2\repository\org\glassfish\jaxb\txw2\4.0.3\txw2-4.0.3.jar;C:\Users\Administrator\.m2\repository\com\sun\istack\istack-commons-runtime\4.1.2\istack-commons-runtime-4.1.2.jar;C:\Users\Administrator\.m2\repository\jakarta\inject\jakarta.inject-api\2.0.1\jakarta.inject-api-2.0.1.jar;C:\Users\Administrator\.m2\repository\org\antlr\antlr4-runtime\4.10.1\antlr4-runtime-4.10.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\data\spring-data-jpa\3.1.5\spring-data-jpa-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\data\spring-data-commons\3.1.5\spring-data-commons-3.1.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-orm\6.0.13\spring-orm-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-tx\6.0.13\spring-tx-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\2.0.9\slf4j-api-2.0.9.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aspects\6.0.13\spring-aspects-6.0.13.jar;C:\Users\Administrator\.m2\repository\com\dameng\DmJdbcDriver18\8.1.1.193\DmJdbcDriver18-8.1.1.193.jar;C:\Users\Administrator\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.1\jakarta.xml.bind-api-4.0.1.jar;C:\Users\Administrator\.m2\repository\jakarta\activation\jakarta.activation-api\2.1.2\jakarta.activation-api-2.1.2.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-core\6.0.13\spring-core-6.0.13.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jcl\6.0.13\spring-jcl-6.0.13.jar;D:\Program Files\JetBrains\IntelliJ IDEA 2024.3.5\lib\idea_rt.jar" com.example.damengdemo.DamengDemoApplication
已连接到地址为 ''127.0.0.1:53830',传输: '套接字'' 的目标虚拟机
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.5)
2025-04-25T14:17:43.906+08:00 INFO 46656 --- [ main] c.e.damengdemo.DamengDemoApplication : Starting DamengDemoApplication using Java 17.0.15 with PID 46656 (C:\Users\Administrator\Desktop\IdeaProjects\untitled2\target\classes started by Administrator in C:\Users\Administrator\Desktop\IdeaProjects\untitled2)
2025-04-25T14:17:43.910+08:00 INFO 46656 --- [ main] c.e.damengdemo.DamengDemoApplication : No active profile set, falling back to 1 default profile: "default"
2025-04-25T14:17:44.633+08:00 INFO 46656 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2025-04-25T14:17:44.712+08:00 INFO 46656 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 68 ms. Found 1 JPA repository interfaces.
2025-04-25T14:17:45.352+08:00 INFO 46656 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 12300 (http)
2025-04-25T14:17:45.365+08:00 INFO 46656 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2025-04-25T14:17:45.366+08:00 INFO 46656 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.15]
2025-04-25T14:17:45.506+08:00 INFO 46656 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2025-04-25T14:17:45.506+08:00 INFO 46656 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1540 ms
2025-04-25T14:17:45.702+08:00 INFO 46656 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]
2025-04-25T14:17:45.778+08:00 INFO 46656 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.2.13.Final
2025-04-25T14:17:45.781+08:00 INFO 46656 --- [ main] org.hibernate.cfg.Environment : HHH000406: Using bytecode reflection optimizer
2025-04-25T14:17:46.239+08:00 INFO 46656 --- [ main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer
2025-04-25T14:17:46.286+08:00 WARN 46656 --- [ main] org.hibernate.orm.deprecation : HHH90000025: OracleDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default)
2025-04-25T14:17:47.409+08:00 INFO 46656 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)
2025-04-25T14:17:47.413+08:00 INFO 46656 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2025-04-25T14:17:47.707+08:00 INFO 46656 --- [ main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used.
2025-04-25T14:17:48.147+08:00 WARN 46656 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2025-04-25T14:17:48.536+08:00 INFO 46656 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 12300 (http) with context path ''
2025-04-25T14:17:48.546+08:00 INFO 46656 --- [ main] c.e.damengdemo.DamengDemoApplication : Started DamengDemoApplication in 5.167 seconds (process running for 5.944)
2025-04-25T14:17:48.560+08:00 INFO 46656 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2025-04-25T14:17:48.767+08:00 INFO 46656 --- [ main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection dm.jdbc.driver.DmdbConnection@5f662dd
2025-04-25T14:17:48.770+08:00 INFO 46656 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.id=?
Hibernate:
select
seq_sys_folder_id.nextval
from
dual
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
insert
into
sys_folder
(create_by,create_time,del_flag,name,order_num,parent_id,path,update_by,update_time,id)
values
(?,?,?,?,?,?,?,?,?,?)
Hibernate:
select
s1_0.id,
s1_0.create_by,
s1_0.create_time,
s1_0.del_flag,
s1_0.name,
s1_0.order_num,
s1_0.parent_id,
s1_0.path,
s1_0.update_by,
s1_0.update_time
from
sys_folder s1_0
where
s1_0.del_flag=0
数量为: 10