整合JPA

application.yml jpa的配置

spring:
  jpa:
    hibernate: #默认使用
      #更新或者创建数据表结构  好处是 没表会自动创建  更新对象时会把自增主键更新并返回 
      ddl-auto: update
    #每次增删改查控制台显示sql
    show-sql: true

entity实体

import javax.persistence.*;

///使用JPA注解配置映射关系
@Entity //告诉JPA这是个实体类
@Table(name="tbl_user")//对应数据表  如果省略 默认表名就是user
public class User {
    @Id //主键
    @GeneratedValue(strategy = GenerationType.IDENTITY)//自增 唯一主键
    private Integer id;

    @Column(name = "last_name",length = 50) //和数据表对应的一个列
    private String lastName;
    @Column   //省略参数  列名就是属性名
    private String email;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

repository

import org.springframework.data.jpa.repository.JpaRepository;
///继承JpaRepository 来完成对数据库配置 
public interface UserRepository extends JpaRepository {
///泛型标明 实体类型 和主键类型
}
//非常简单 可以使用默认spring的默认实现

controller

@RestController
public class UserController {
    @Autowired  //本身就是JPA的repository  直接注入
    UserRepository userRepository;
    @GetMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){
        User user = userRepository.findById(id).get();
        return user;
    }
    @GetMapping("/user")
    public User insertUser(User user) {
        User save = userRepository.save(user);
        return save;
    }
}

测试


整合JPA_第1张图片
image.png

你可能感兴趣的:(整合JPA)