一、 配置(application.yml)
spring:
jpa:
hibernate:
ddl-auto: update # 更新或者创建数据表结构
show-sql: true # 控制台显示SQL
二、 建立实体类(entity包)
@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包)
//继承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;
}
}
Comments | 0 条评论