使用CRUD存储库获取结果列表

时间:2017-12-06 10:01:10

标签: java sql crud

我是使用CRUD Repository的新手。

我有一个包含三列的数据库表:

  

course_id,名称,课程

我想获得一个course_id名单,例如,

SELECT id FROM table WHERE name='charmaine'; 

但是,我不想使用查询但使用crud存储库。

我的控制器中显示错误。 我可以知道有这个错误吗?

我的控制器

@GetMapping(value = "getting/{name}")
    //@ResponseBody
     public String getting(@PathVariable("name") String name) {
        List<CourseMaster> getIds =  CourseService.findIdByName(Name);   —> error icon here
        return getIds;  —> error icon here
     }

服务

public List<CourseMaster> findIdByName(String Name) {
    return CourseMasterRepo.findByName(Name);
}

存储库

public interface CourseMasterRepo extends CrudRepository<CourseMaster, Long> {
    List<CourseMaster> findByName(String Name);
}

2 个答案:

答案 0 :(得分:1)

您必须在控制器中使用自动装配的服务类,例如。

 @Autowired
 CourseService courseService;

 @GetMapping(value = "getting/{name}")
 public String getting(@PathVariable("name") String name) {
    List<CourseMaster> getIds =  courseService.findIdByName(Name);
    return getIds;
 }

答案 1 :(得分:0)

如果您的代码是在java spring中完成的,则必须在hibernate中使用hql语言,即sql查询的接口。

使用lambda表达式的hql查询非常简单而有用。

例如,

String hql = "FROM Employee E WHERE E.id = 10"; 
Query query = session.createQuery(hql); 
List results = query.list();