Java 如何查询将参数传递到crud存储库?
我有一个连接到SQL数据库的web应用程序,它有几个实体 主要表格包括:Java 如何查询将参数传递到crud存储库?,java,web,spring-repositories,Java,Web,Spring Repositories,我有一个连接到SQL数据库的web应用程序,它有几个实体 主要表格包括: 雇员 EmployeesxSkills(将某个员工的id映射到某个认证技能的id) 技巧 SkillxRole(将技能id映射到角色id) 角色 我试图创建一个方法,该方法根据用户输入的名称查询角色,获取角色id,然后查询SkillxRole表,并返回与该角色id关联的所有技能的字符串数组 如何使用用户指定的参数在crud存储库中进行查询。这将是使用ajax的html输入框输入的,然后我假设一个有效的端点 任何帮助都将不胜
@Controller
public class SearchController {
public EmployeeRepository employeeRepository;
public RoleRepository roleRepository;
public SkillRepository skillRepository;
public roleSkillRatingsRepository roleSkillRatingsRepository;
@Autowired
public void employeeRepository(EmployeeRepository employeeRepository){
this.employeeRepository = employeeRepository;
}
@Autowired
public void roleRepository(RoleRepository roleRepository){
this.roleRepository = roleRepository;
}
@Autowired
public void skillRepository(SkillRepository skillRepository){
this.skillRepository = skillRepository;
}
@Autowired
public void roleSkillRatingsRepository(roleSkillRatingsRepository roleSkillRatingsRepository){
this.roleSkillRatingsRepository = roleSkillRatingsRepository;
}
@ResponseBody
public List<Employee> getAllemployees() {
System.out.println(employeeRepository.findAll());
return employeeRepository.findAll();
}
@ResponseBody
public Map<String,Integer> getRoleSkills() {
return null;
}
@控制器
公共类搜索控制器{
公共雇员住所;
公众角色扮演者角色扮演者;
公共技能库技能库;
公共角色杀手职责杀手职责;
@自动连线
公共无效employeeRepository(employeeRepository employeeRepository){
this.employeeRepository=employeeRepository;
}
@自动连线
公共无效角色保留(角色保留角色保留){
this.roleRepository=roleRepository;
}
@自动连线
公共void skillRepository(skillRepository skillRepository){
this.skillRepository=skillRepository;
}
@自动连线
公开作废角色杀手还原(角色杀手还原角色杀手还原){
this.roleSkillRatingsRepository=roleSkillRatingsRepository;
}
@应答器
公共列表getAllemployees(){
System.out.println(employeeRepository.findAll());
return employeeRepository.findAll();
}
@应答器
公共地图getRoleSkills(){
返回null;
}
角色库
@Repository
public interface RoleRepository extends CrudRepository<Role, Integer> {
List<Role> findAll();
//something I found online but unsure how to apply this to my situation
@Query("select p from Person AS p"
+ " ,Name AS n"
+ " where p.forename = n.forename "
+ " and p.surname = n.surname"
+ " and n = :name")
String [] findByName(@Param("name") Name name);
}
@存储库
公共接口角色还原扩展了CRUDEPository{
列出findAll();
//我在网上发现了一些东西,但不确定如何将其应用于我的情况
@查询(“从人员中选择p作为p”
+,名称为n
+“其中p.forename=n.forename”
+“p.姓=n.姓”
+“和n=:name”)
字符串[]findByName(@Param(“name”)name);
}