Java 我必须在springboot中使用POST方法(Restfull)在where子句中使用多个参数从MySQL数据库表中进行搜索?
MySQL数据库表: 类如下:问题是如何处理crud存储库中的对象,因为那里没有这样的现有函数。那么,如何覆盖现有的Java 我必须在springboot中使用POST方法(Restfull)在where子句中使用多个参数从MySQL数据库表中进行搜索?,java,mysql,spring,spring-boot,spring-data-jpa,Java,Mysql,Spring,Spring Boot,Spring Data Jpa,MySQL数据库表: 类如下:问题是如何处理crud存储库中的对象,因为那里没有这样的现有函数。那么,如何覆盖现有的 @RequestMapping(value = "/find", method = RequestMethod.POST) @ResponseBody public User getUser(@RequestBody UserFormDto userForm) { Holder h = new Holder(); h.setName(userForm.getN
@RequestMapping(value = "/find", method = RequestMethod.POST)
@ResponseBody
public User getUser(@RequestBody UserFormDto userForm) {
Holder h = new Holder();
h.setName(userForm.getName());
h.setEmail(userForm.getEmail());
return userRepository.findOne(h);//holder);
}
package hello;
public class Holder {
private String name;
private String email;
public class Holder {
private String name;
private String email;
public Holder(){
}
public Holder(String name, String email) {
super();
this.name = name;
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}}
UserFormDto将数据传递给持有者
package hello;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;
public class UserFormDto {
private String name;
private String email;
public UserFormDto(String name, String email) {
super();
this.name = name;
this.email = email;
}
public UserFormDto() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}}
package hello;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
public interface UserRepository extends CrudRepository<User, Long> {
// User findOne(Holder h);}
包你好;
导入javax.validation.constraints.Min;
导入javax.validation.constraints.Pattern;
导入org.hibernate.validator.constraints.NotBlank;
导入org.hibernate.validator.constraints.NotEmpty;
公共类UserFormDto{
私有字符串名称;
私人字符串电子邮件;
public UserFormDto(字符串名称、字符串电子邮件){
超级();
this.name=名称;
this.email=电子邮件;
}
公共用户formdto(){
超级();
//TODO自动生成的构造函数存根
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getEmail(){
回复邮件;
}
公用电子邮件(字符串电子邮件){
this.email=电子邮件;
}}
套餐你好;
导入org.springframework.data.jpa.repository.Query;
导入org.springframework.data.repository.crudepository;
公共接口UserRepository扩展了Crudepository{
//用户findOne(持有者h);}
现在我该如何使用Crudepository?任何帮助都将不胜感激。Spring数据支持根据
Crudepository
中的方法名称自动生成查询(请参阅)
添加一个findbyiandemail
方法,它应该可以工作(请注意,我看不到同时在id和另一个字段上搜索的意义,除非您的id不是PK):
public interface UserRepository扩展了crudepository{
列出findByIdAndEmail(长id,字符串电子邮件);
}
表格属性如下:id、姓名、电子邮件和我想根据id和姓名进行搜索。
public interface UserRepository extends CrudRepository<User, Long> {
List<User> findByIdAndEmail(Long id, String email);
}