一、 配置(application.yml)

spring:
  jpa:
    hibernate:
      ddl-auto: update # 更新或者创建数据表结构
    show-sql: true # 控制台显示SQL

二、 建立实体类(entity包)

  • User.java
@Entity //告诉JPA这是一个实体类(和数据库映射的类)
@Table(name = "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包)

  • UserRepository.interface
//继承JpaRepository来完成对数据库的操作,Integer是主键
public interface UserRepository extends JpaRepository<User,Integer> {

    User findByLastName(String lastName);

    List<User> findByLastNameOrEmail(String lastName,String email);

}

四、 建立controller类

@RestController
public class UserController {

    @Autowired
    UserRepository userRepository;

    @GetMapping("/getUser/{id}")
    public User getUser(@PathVariable("id") Integer id) {
        User user = userRepository.getOne(id);
        return user;
    }

    @GetMapping("/getUserByL")
    public User getUser(User user) {
        User u = userRepository.findByLastName(user.getLastName());
        return u;
    }

    @GetMapping("/getUserByLorE")
    public List<User> getUserByLorE(User user) {
        return userRepository.findByLastNameOrEmail(user.getLastName(), user.getEmail());
    }

    @GetMapping("/insertUser")
    public User insertUser(User user) {
        User save = userRepository.save(user);
        return save;
    }

    @GetMapping("/deleteUser/{id}")
    public void deleteUserById(@PathVariable("id") Integer id) {
        userRepository.deleteById(id);
    }

    @GetMapping("/deleteUser")
    public Integer deleteByLastName(User user) {
        User t = userRepository.findByLastName(user.getLastName());
        userRepository.delete(t);
        return 1;
    }

}


hhhhh