springboot-jpa的使用

springboot-jpa的使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  1. 创建entity包,代码如下:

     import lombok.Getter;
     import lombok.Setter;
    
     import javax.persistence.*;
     import java.util.ArrayList;
     import java.util.List;
    
     @Entity
     @Table(name = "role_info")
     public class RoleEntity {
    
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long roleId;
    
     // 生成之后的role_name表中的列名,唯一,不为空,varchar(50)
     @Column(name = "role_name", unique = true, nullable = false, length = 50)
     private String roleName;
    
     private Integer deleteFlag;
    
     @Setter
     @Getter
     @ManyToMany // 多对多关系
     @JoinTable(
         // 中间表的表名.
         name = "role_module",
         // 对应中间表的一个列名,和当前表的主键roleId关联的.
         joinColumns = @JoinColumn(name = "temp_role_id"),
         // 中间表的另一个列名,和另一张表的主键相关联.
         inverseJoinColumns = @JoinColumn(name = "temp_module_id")
      )
    
     private List<ModuleEntity> moduleEntityList = new ArrayList<>();
    
     public Integer getDeleteFlag() {
     	return deleteFlag;
     }
    
     public void setDeleteFlag(Integer deleteFlag) {
     	this.deleteFlag = deleteFlag;
     }
    
     public Long getRoleId() {
     	return roleId;
     }
    
     public void setRoleId(Long roleId) {
     	this.roleId = roleId;
     }
    
     public String getRoleName() {
     	return roleName;
     }
    
     public void setRoleName(String roleName) {
     	this.roleName = roleName;
     }
    

    }

关联表的实体类

import com.fasterxml.jackson.annotation.JsonBackReference;
import lombok.*;

import javax.persistence.*;
import java.util.List;

@Entity
@Table(name = "module_info")
// data 包含set/get/toString/equals
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ModuleEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long moduleId;

@Column(name = "module_name", unique = true, nullable = false, length = 50)
private String moduleName;


}
  1. 创建repository包,代码如下:

     import com.lanou3g.springjpademo.entity.RoleEntity;
     import org.springframework.data.jpa.repository.JpaRepository;
     import org.springframework.data.jpa.repository.Query;
    
     import java.util.List;
    
     public interface RoleRepository extends JpaRepository<RoleEntity, Long> {
    
     // 自定义查询(没有使用)
     @Query(value = "select * from role_info", nativeQuery = true)
     List<RoleEntity> roles();
    
     }
    
  2. 创建controller层,代码如下:

     import com.lanou3g.springjpademo.entity.RoleEntity;
     import com.lanou3g.springjpademo.repository.RoleRepository;
     import org.springframework.web.bind.annotation.RequestMapping;
     import org.springframework.web.bind.annotation.RestController;
    
     import javax.annotation.Resource;
     import java.util.List;
    
     @RestController
     public class RoleInfroController {
    
     @Resource
     private RoleRepository roleRepository;
    
     @RequestMapping("/list")
     public List<RoleEntity> list() {
     	return roleRepository.findAll();
     }
    

    }

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42262135/article/details/83590399