spring cloud mysql_【Spring Boot&&Spring Cloud系列】Spring Boot中使用数据库之MySql

对于传统关系型数据库来说,Spring Boot使用JPA(Java Persistence API)资源库提供持久化的标准规范,即将Java的普通对象通过对象关系映射(ORM)持久化到数据库中。

一、使用MySQL是maven中的依赖配置

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-data-jpa

二、建立数据实体

1、假设有部门、用户、角色三个实体,且关系为一个用户只能隶属于一个部门,一个用户可以拥有多个角色

2、Java类

User.java

1 package com.slp.entity;2

3 import com.fasterxml.jackson.annotation.JsonBackReference;4 import org.springframework.format.annotation.DateTimeFormat;5

6 import javax.persistence.*;7 import java.util.Date;8 import java.util.List;9

10

11 /**12 * Created by sangliping on 2017/8/18.13 * @ManyToOne定义User与Department的多对一关系,并用中间表user_role来存储他们的ID14 * @DateTimeFormat日期进行格式化15 * @JsonBackReference用了方式关系对象的递归访问16 */17

18 @Entity19 @Table(name = "user")20 public class User implements java.io.Serializable{21 @Id22 @GeneratedValue(strategy = GenerationType.IDENTITY)23 private Long id;24 private String name;25 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")26 private Date createdate;27

28 @ManyToOne29 @JoinColumn(name = "did")30 @JsonBackReference31 private Department deparment;32

33 @ManyToMany(cascade = {}, fetch = FetchType.EAGER)34 @JoinTable(name = "user_role",35 joinColumns = {@JoinColumn(name = "user_id")},36 inverseJoinColumns = {@JoinColumn(name = "roles_id")})37 private Listroles;38

39 public User() {40 }41

42 public Long getId() {43 return id;44 }45

46 public void setId(Long id) {47 this.id = id;48 }49

50 public String getName() {51 return name;52 }53

54 public void setName(String name) {55 this.name = name;56 }57

58 public Date getCreatedate() {59 return createdate;60 }61

62 public void setCreatedate(Date createdate) {63 this.createdate = createdate;64 }65

66 public Department getDeparment() {67 return deparment;68 }69

70 public void setDeparment(Department deparment) {71 this.deparment = deparment;72 }73

74 public ListgetRoles() {75 return roles;76 }77

78 public void setRoles(Listroles) {79 this.roles = roles;80 }81 }

Role.java

1 package com.slp.entity;2

3 import javax.persistence.*;4 import java.io.Serializable;5

6 /**7 * Created by sangliping on 2017/8/18.8 */9 import javax.persistence.*;10

11 @Entity12 @Table(name = "role")13 public class Role implements java.io.Serializable{14 @Id15 @GeneratedValue(strategy = GenerationType.IDENTITY)16 private Long id;17 private String name;18

19 public Role() {20 }21

22 public Long getId() {23 return id;24 }25

26 public void setId(Long id) {27 this.id = id;28 }29

30 public String getName() {31 return name;32 }33

34 publ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值