📜  spring 应用程序属性 mysql jpa - Java (1)

📅  最后修改于: 2023-12-03 14:47:34.329000             🧑  作者: Mango

Spring 应用程序属性 MySQL JPA - Java

在本文中,我们将介绍 Spring 应用程序属性,MySQL 数据库和 JPA 框架的使用。我们从简单的介绍开始,逐步深入,直到您可以独立地创建一个基于 Spring Boot 的 Web 应用程序!

什么是 Spring Boot 应用程序属性?

Spring Boot 应用程序属性是定义应用程序的关键元素的配置方式。它们可以用于配置数据源,HTTP 端口和其他应用程序配置。

Spring Boot 应用程序属性可以通过以下方式定义:

  • 在 application.properties 或 application.yml 文件中
  • 通过命令行参数传递

下面是一些 Spring Boot 应用程序属性的示例:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
server.port=8080

以上示例演示如何使用应用程序属性来配置数据源和 HTTP 端口。

如何连接 MySQL 数据库?

要连接到 MySQL 数据库,我们需要在应用程序属性中指定数据库的连接信息。下面是一个示例:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456

在上面的示例中,我们指定了数据库 URL,用户名和密码。Spring Boot 应用程序将使用这些信息来连接数据库。

什么是 JPA?

JPA 是 Java Persistence API 的缩写。它是 Java 企业级应用程序中关系数据库持久化的标准技术。JPA 提供了一种易于使用的 ORM 框架,使得应用程序可以轻松地操作数据库对象。

最流行的 JPA 实现之一是 Hibernate。在本文中,我们将使用 Hibernate 来连接 MySQL 数据库并操作数据库对象。

如何配置 JPA?

要配置 JPA,我们需要指定以下信息:

  • 建立连接的数据源
  • 实体管理器工厂的 Bean 定义
  • 事务管理器的 Bean 定义

下面是一个基本的 JPA 配置示例:

@Configuration
@EnableTransactionManagement
public class JpaConfig {

    @Autowired
    private DataSource dataSource;

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
        em.setDataSource(dataSource);
        em.setPackagesToScan(new String[] { "com.example.demo.model" });

        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        em.setJpaVendorAdapter(vendorAdapter);

        return em;
    }

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory emf){
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(emf);

        return transactionManager;
    }

}

在上面的示例中,我们为数据源,实体管理器工厂和事务管理器创建了 Bean 定义。我们还使用了 @EnableTransactionManagement 注释启用事务管理支持。

如何使用 JPA?

要使用 JPA,我们需要定义实体类并使用注释标记它们。下面是一个示例实体类:

@Entity
@Table(name = "employees")
public class Employee {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @Column(name = "email")
    private String email;

    // getters and setters
}

在上面的示例中,我们定义了名为 Employee 的实体类。我们使用 @Entity 和 @Table 注释标记它作为实体类和数据库表。我们还使用 @Id 和 @GeneratedValue 注释标记实体类的主键。

要在 Spring Boot 应用程序中使用 JPA,我们需要 Autowire EntityManager 对象。我们也可以 Autowire Repository 接口。下面是一个示例 Repository 接口:

@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}

在上面的示例中,我们定义了一个名为 EmployeeRepository 的 Repository 接口。我们使用 @Repository 注释标记它作为 Spring Bean。我们还使用 JpaRepository 接口扩展它,以获得基本的 CRUD 操作。

现在,我们可以使用 EntityManager 和 Repository 接口创建,读取,更新和删除实体对象!

总结

在这篇文章中,我们介绍了 Spring Boot 应用程序属性,MySQL 数据库和 JPA 框架的使用。我们看到了如何建立数据库连接,如何配置 JPA,以及如何使用 JPA 框架实现 CRUD 操作。希望这篇文章对您有所帮助!