Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用DriverManager和SpringBoot(Hibernate)连接数据库的区别_Java_Spring Boot_Hibernate_Jpa_Database Connection - Fatal编程技术网

Java 使用DriverManager和SpringBoot(Hibernate)连接数据库的区别

Java 使用DriverManager和SpringBoot(Hibernate)连接数据库的区别,java,spring-boot,hibernate,jpa,database-connection,Java,Spring Boot,Hibernate,Jpa,Database Connection,在开发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=us

在开发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注释将数据放入数据库


    我的问题是这两种方式有何不同。如果不是,SpringBoot方法与后台的DriverManager的工作方式是否相同。

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

    Spring完全按照您应该做的来配置数据库连接

    请记住,在99%的情况下,您无法编写比spring更好的代码。因此,使用spring属性

    我假设通过驱动程序管理器,您希望引用JDBC,通过Springboot(Hibernate),您希望使用JPA

    为了简单地回答您的问题,JDBC和JPA都将连接到驱动程序。只是如果您使用JPA,则默认情况下会执行此步骤,而无需显式编码

    您可以将JPA看作JDBC的上层,它处理所有样板代码,比如连接到驱动程序


    您可以在此处阅读有关JPA和JDBC的更多信息:

    谢谢!!当你说DriverManager与否时,你的意思是什么?在这个特定的例子中,spring使用DriverManager,但我所说的比这个特定的问题更一般,因为在某些情况下,spring使用不同的方式来实现你所需要的组件。例如,您可以使用属性
    logging.level.package=DEBUG
    来设置日志记录级别,并且您将此属性与log4j和slf4j一起使用。属性与实现无关,您永远不会关心spring如何实现其组件。