SpringBoot集成JPA配置实体类自动创建表

  牢记检查以下四步,我们就可以通过注解的形式配置实体类,来自动创建数据库表。

 1. pom.xml中引入jpa的包

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2. 配置文件application.yml

spring:
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update  #必须要有(如果没有,即使启动项目,也不会生成相应的表)

3. 编写实体类(添加对应注解

@Entity
@Table(name = "t_user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    @NotNull(message = "用户名不能为空")
    @Column(length = 30)
    private String username;
    @Column(length = 200)
    private String password;
    @NotNull(message = "真实姓名不能为空")
    @Column(length = 200)
    private String trueName; //真实姓名

    @ManyToOne
    @JoinColumn(name = "roleId")
    private Role role; //角色

    @Column(length = 200)
    private String remark;

    @NotNull(message = "排序号不能为空")
    @Column(length = 10)
    private Integer orderNo;

    @Temporal(TemporalType.TIMESTAMP)
    private Date createDateTime; //创建时间
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateDateTime; //修改时间

    ……
    …… 
    //省略setter和getter方法以及toString方法

}

4. 在项目的启动类Application中添加MapperScan注解

@SpringBootApplication
@MapperScan("zqq.trys.model")
public class TesthttpApplication {

    public static void main(String[] args) {
        SpringApplication.run(TesthttpApplication.class, args);
    }

}

注意:zqq.trys.model这个包是实体类所在包。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SpringBoot中,集成JPA需要通过配置类来实现。以下是一个示例: ```java @Configuration @EnableJpaRepositories(basePackages = {"com.example.demo.repository"}) //JPA仓库的扫描路径 @EnableTransactionManagement //开启事务管理 public class JpaConfig { @Autowired private DataSource dataSource; @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() { LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(dataSource); em.setPackagesToScan("com.example.demo.entity"); //JPA实体类扫描路径 JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); em.setJpaVendorAdapter(vendorAdapter); return em; } @Bean public PlatformTransactionManager transactionManager() { JpaTransactionManager transactionManager = new JpaTransactionManager(); transactionManager.setEntityManagerFactory(entityManagerFactory().getObject()); return transactionManager; } @Bean public PersistenceExceptionTranslationPostProcessor exceptionTranslation() { return new PersistenceExceptionTranslationPostProcessor(); } } ``` 在配置类中,我们首先使用`@EnableJpaRepositories`注解指定JPA仓库的扫描路径,这样Spring容器就能够自动创建JpaRepository实现类的实例。 接着,使用`@EnableTransactionManagement`注解开启事务管理。 然后,我们定义了`entityManagerFactory`方法,用于创建`EntityManagerFactory`实例。在这个方法中,我们设置了数据源和JPA实体类的扫描路径,并使用`HibernateJpaVendorAdapter`作为JPA厂商适配器。 接下来,我们定义了`transactionManager`方法,用于创建`PlatformTransactionManager`实例,并将`EntityManagerFactory`实例设置为其属性。 最后,我们定义了`exceptionTranslation`方法,用于处理JPA产生的异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zqq_2016

有用的话,来打赏博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值