当前位置: 首页 > 知识库问答 >
问题:

使用DriverManager与springboot(Hibernate)连接数据库的区别

贺劲
2023-03-14

在开发Java应用程序时,有两种连接数据库的方法。

>

  • 使用DriverManager

    Connection conn=DriverManager.GetConnection(url、名称、密码);//执行查询。

    应用程序属性文件在springboot中的使用

    spring.jpa.hibernate.ddl-auto=none spring.datasource.url=jdbc:mysql://localhost:5432/db_name spring.datasource.username=user spring.datasource.password=password

    现在您可以在类上使用@Entity注释将数据放入数据库。

    我的问题是这两种方式有什么不同。如果不是如何,那么springboothtml" target="_blank">方法在后台的工作方式是否与DriverManager相同。

  • 共有1个答案

    诸俊才
    2023-03-14

    当您设置配置属性时,您只是对spring说:“嘿,我有这个属性,您能自动配置我需要的吗?”此时,应用程序开始时的spring将使用配置属性来设置连接到数据库所需的一切(是否使用DriverManager并不重要)。

    spring会执行您应该执行的操作来配置数据库连接。

    请记住,在99%的情况下,你都写不出比spring更好的代码。因此,使用spring属性

     类似资料:
    • 我从几周前开始学习使用java,我想在简单的java控制台应用程序中使用Hibernate。我下载了Hibernate ORM的最新版本(4.3.8) 我将这个JAR添加到我的类路径中: com.mysql.jdbc_5.1.5.jar sqlite-jdbc-3.8.7.jar Hibernate库\antlr-2.7.7.jar Hibernate库\dom4j-1.6.1.jar Hiber

    • 问题内容: 直到现在,每当查询数据库时,我都会打开与数据库的新连接。如何实现打开连接后就可以重用的属性? 完成此操作后,请告诉我是否可以泄漏资源。 问题答案: 基本上,您需要JDBC连接池,通常需要实现接口。看看dbcp和c3p0。您的容器/服务器可能已经提供了连接池的实现。 每次 打开 连接时使用连接池时,实际上是从该连接中取出一个连接(如果池为空则 打开 一个连接)。当 关闭 连接时,它实际上

    • 我正在做一些测试,得到了以下异常: 我还测试了一些与mariadb/MySQL相关的东西,因此除了h2驱动程序(eclipse项目)之外,mariadb驱动程序也在类路径上。如果我从类路径中删除mariadb驱动程序,连接就会正常工作。 据我所知,应该可以在类路径上有多个jdbc驱动程序,还是我理解错了? (h2是1.3.176版本,mariadb-java-client是1.2.0)

    • 我在Spring是全新的,在Spring Hibernate无法连接到我的MySQL数据库。我得到 请求处理失败;嵌套异常为:org.springframework.transaction.CanNotCreateTransactionException: 无法打开事务的JPA EntityManager;嵌套异常为javax.persistence.persistenceException:or

    • 我在SprintBoot 2上配置了一个DB连接(HikariCP)。我在application.properties中定义了poolName: 我想监控空闲的数据库连接的数量,所以我试图创建一个线程来监控数据库连接: } 但我得到一个例外,它无法找到poolName HikariConnectionPool的实例。关于如何获得HikariCP管理的空闲DB连接,有什么建议吗? 进一步分析,我可以

    • 问题内容: 我正在尝试使用标准JDBC方式连接到数据库 连接上是否有一个最大的超时值,连接的生存期有多长,我可以增加该值吗?我希望万一连接永远打开,这是个好主意。 问题答案: 该值通常是由DB控制的。您无法使用代码对其进行控制。这取决于所使用的数据库服务器。通常最多需要30分钟到一小时。 另一方面,永远保持开放是一个非常糟糕的主意。最佳做法是获取 和 关闭,并在 最短的 可能范围,以避免资源泄漏和