Spring boot jpa entity
【摘要】 前言
本文介绍如何使用spring boot jpa entity。
开发环境如下:
项目
说明
jdk
1.8
idea
2017-03(已经安装lombok插件)
mysql 5.6
推荐使用docker
navicat
mysql 客户端
操作步骤
新建spring boot项目
使用navicat新建数据库db_example
修改配...
前言
本文介绍如何使用spring boot jpa entity。
开发环境如下:
项目 | 说明 |
---|---|
jdk | 1.8 |
idea | 2017-03(已经安装lombok插件) |
mysql 5.6 | 推荐使用docker |
navicat | mysql 客户端 |
操作步骤
- 新建spring boot项目
- 使用navicat新建数据库
db_example
- 修改配置文件
./src/main/resources/application.properties
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=root
spring.datasource.password=123456
- 添加实体类book
package org.nick.bootstart.model;/*
* @Author : Nick
* @Description :
* @Date : Create in 12:18 2018/4/30
**/
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Generated;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Book { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String title; private String isbn; public String publisher; @ManyToMany @JoinTable(name = "author_book", joinColumns = @JoinColumn(name = "book_id"), inverseJoinColumns = @JoinColumn(name = "author_id")) public Set<Author> authors = new HashSet<>(); @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Book book = (Book) o; return id == book.id && Objects.equals(title, book.title) && Objects.equals(isbn, book.isbn) && Objects.equals(publisher, book.publisher); } @Override public int hashCode() { return Objects.hash(id); } @Override public String toString() { return "Book{" + "id=" + id + ", title='" + title + '\'' + ", isbn='" + isbn + '\'' + ", publisher='" + publisher + '\'' + '}'; }
}
- 添加Author
package org.nick.bootstart.model;/*
* @Author : Nick
* @Description :
* @Date : Create in 12:36 2018/4/30
**/
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.HashSet;
import java.util.Set;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class Author { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String firstName; private String lastName; @ManyToMany(mappedBy = "authors") private Set<Book> books = new HashSet<>();
}
- 执行程序
- 打开navicat 查看数据库,发现已经初始化了相关表;
总结
这里spring.jpa.hibernate.ddl-auto可以是none,update,create,create-drop。具体含义如下:
- none 不改变表结构
- update 通过entity结构改变数据库结构
- create 每次都打开的时候新建数据库,关闭的时候删除数据库
- create-drop 创建数据库,然后在SessionFactory关闭的时候删除数据库;
文章来源: www.jianshu.com,作者:Nick_4438,版权归原作者所有,如需转载,请联系作者。
原文链接:www.jianshu.com/p/caf8cf48a757
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)