SpringBoot项目集成达梦数据库

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
相关推荐
敖云岚9 分钟前
【AI】SpringAI 第五弹:接入千帆大模型
java·大数据·人工智能·spring boot·后端
桦说编程15 分钟前
CompletableFuture典型错误 -- 代码出自某大厂
java·后端·响应式编程
root666/24 分钟前
【大数据技术-联邦集群RBF】DFSRouter日志一直打印修改Membership为EXPIRED状态的日志分析
java·大数据·hadoop
佩奇的技术笔记28 分钟前
Java学习手册:Filter 和 Listener
java
sugar__salt37 分钟前
反射,枚举,lambda表达式
java
Spring小子43 分钟前
黑马点评商户查询缓存--缓存更新策略
java·数据库·redis·后端
foo1st1 小时前
JDK(Ubuntu 18.04.6 LTS)安装笔记
java·笔记·ubuntu
DKPT1 小时前
常见正则表达式整理与Java使用正则表达式的例子
java·笔记·学习·面试·正则表达式