• 【spring Data Jpa】JPA生成数据库表


    环境

      springBoot+JPA+MySQL

    application-dev.yml

    注意:配置中的blog数据库需要先创建,否则启动springBoot会报错

     1 spring:
     2 #数据库连接配置
     3   datasource:
     4     driver-class-name: com.mysql.jdbc.Driver
     5     url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8
     6     username: root
     7     password: 123
     8   jpa:
     9     hibernate:
    10       ddl-auto: update
    11     show-sql: true

    pojo(实体类)、数据库关系结构

    多对一、一对多:多的一方作为关系维护方,少的作为关系被维护方

    1.Blog

    @Entity //标记类为数据库实体类
    @Table(name = "front_blog") //指定与数据库哪个表对应
    public class Blog {
    /*
        @Id:指定主键
        @GeneratedValue:
            指定主键生成策略
            不设置参数则按照默认的策略-AUTO,那么在数据库中会多生成一张表用于记录各个表的主键
    */
        @Id 
        @GeneratedValue 
        private Long id;
        private String title;
        private String content;
        private String firstPicture;
        private String flag; //标记:原创、转载、翻译
        private Integer views; //浏览次数
        private boolean appreciation; //赞赏是否开启
        private boolean shareStatement; //版权是否开启
        private boolean recommend; //评论是否开启
        private boolean commentabled; //是否推荐文章
        @Temporal(TemporalType.TIMESTAMP) //Java系统生成时间 转换为 数据库时间类型
        private Date createTime;
        @Temporal(TemporalType.TIMESTAMP)
        private Date updateTime;
    
        //实体类关系:多个blog对应一个type,多的一方是维护端
        @ManyToOne
        private Type type;

    2.Type

     多对多,可以指定自己想要的关系维护方和关系被维护方

    3.Blog和Tag

    至此,创建实体类,并且在类中指定关系结构无误之后,启动springBoot项目,程序自动生成数据库结构进入数据库

  • 相关阅读:
    Git连接Github
    全民来打飞机~~(设计探讨)
    mongo学习
    redis aop持久化
    redis的超时删除策略
    redis 学习,没事的时候看看增长知识面
    MySQL query / clause execution order
    用redis做超时判断 感觉写的很有意思
    python 编码问题(转载)
    git 个人学习
  • 原文地址:https://www.cnblogs.com/xzp-blog/p/12286241.html
Copyright © 2020-2023  润新知