记录—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项目,程序自动生成数据库结构进入数据库

原文地址:https://www.cnblogs.com/xzp-blog/p/12286241.html

时间: 2024-08-05 07:59:03

记录—JPA生成数据库表的相关文章

PowerDesigner生成数据库表和逆向生成表结构(MySQL数据库)

一.Download Connector/ODBC下载ODBC驱动,地址:https://dev.mysql.com/downloads/connector/odbc/, 需要注意:PowerDesigner安装的多少位就下载多少位的,一般是32位,建议下载.msi文件直接安装. 二.安装完成后点击powerdesigner的Database--->Configure Connections...--->添加数据源配置,如下图: 三.PDM模型生成数据库sql文件,点击powerdesigne

数据类与生成数据库表所需组成

Entityframework属于ORM框架,作用为:将数据类与数据库表关联起来. 数据类与生成数据库表所需组成: 普通类(实体类):定义了属性字段+限制 数据上下文类:继承了DbContext,(各实体类的集合).作用:生成数据库和操作数据库. 配置文件中.连接数据库的字符串.注意name必须与数据上下文类的派生类名称相同. 控制器中,数据库上下文类的实例化,然后使用给对象方可生成数据库.

hibernate 自动生成数据库表

只要在hibernate.cfg.xml添加这句话,就可以自动生成数据表 <property name="hibernate.hbm2ddl.auto">update</property> update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表:如果表里缺少列,则自动添加列. 还有其他的参数: create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失.

hibernate笔记--通过SchemaExport生成数据库表

方法比较简单,项目中只需要两个java类(一个实体类,如User,一个工具类),两个配置文件(hibernate必须的两个配置文件hibernate.cfg.xml,与User.hbm.xml),即可都是常规的书写和配置方法,这时数据库中是没有建表的,在工具测试类CreateDB中,添加代码也很简单,如下,就可以生成数据库表了: public void testCreateDB(){ Configuration cfg = new Configuration().configure(); Sch

【python3】 django2.0 在生成数据库表时报错: TypeError: __init__() missing 1 required positional argument: &#39;on_delete&#39;

python: 3.6.4 django: 2.0 models.py 代码如下 # coding: utf-8 from django.db import models from django.contrib.auth.models import User # Create your models here. class Category(models.Model): name = models.CharField(max_length=100) class Tag(models.Model)

Django2.0在根据models生成数据库表时报 __init__() missing 1 required positional argument: &#39;on_delete&#39;

1.产生原因:在创建外键后,执行 python manage.py makemigrations报错,具体代码为: from django.db import models class Classes(models.Model): title = models.CharField(max_length=32) m = models.ManyToManyField("Teachers") class Teachers(models.Model): name = models.CharFi

Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: &#39;on_delete&#39;

code: 1 #encoding=utf-8 2 from django.db import models 3 # Create your models here. 4 class BookInfo(models.Model): #创建书本信息类,继承models.Model 5 booktitle=models.CharField(max_length=20) 6 bookdata=models.DateField() 7 class HeroInfo(models.Model): #创建英

Django2.1在根据models生成数据库表时报 __init__() missing 1 required positional argument: &#39;on_delete&#39;

解决办法: a=models.ForeignKey('BookInfo',on_delete=models.CASCADE,) 即在外键值的后面加上 on_delete=models.CASCADE 原因: 在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'举例说明:us

Django在使用models生成数据库表时报错: __init__() missing 1 required positional argument: &#39;on_delete&#39;

Django 提供完善的模型(model)层主要用来创建和存取数据,不需要我们直接对数据库操作.Django 模型基础知识: 1.每个模型是一个 Python 类,继承 django.db.models.model 类. 2.该模型的每个属性表示一个数据库表字段. 程序代码如下: # 创建应用程序数据表模型(对应数据库的相关操作) from django.db import models # 导入models模块 class Event(models.Model): # 创建Event类,继承m