java的入门-第二篇
2018-08-16 10:17 木木菇凉的House 阅读(276) 评论(0) 编辑 收藏 举报java的入门第二篇
之前的一篇,介绍了刚接触java,要如何进行开发的一个流程,今天继续来讲一个查询的接口来深入一点的学习java
1.在controller中定义一个查询的接口,要包含跨域的设置,然后思考你要查的是什么,我要查询的结果是个列表,列表里面是对象,那么我定义这个接口的返回值类型就是list<对象>,并且,该查询接口是可以传入参数的,那么我就要在方法的参数里面加入@RequestBody User dto,dto是我ajax请求的参数的对象,具体在方法里面,我无法通过dto.name取到值,因为name的属性是private,那么我要在方法体内传的参数要怎么体现呢,就是通过get方法,比如:dto.getName()方法获取
实例:
@RequestMapping(value = "/getAll",method = RequestMethod.POST)
@CrossOrigin(methods = {RequestMethod.GET,RequestMethod.POST},origins = "*")
public List<User> getAll(@RequestBody User dto){
return userService.getInfo(dto.getId(),dto.getName());
}
2.在controller里面调用了userService.getInfo()方法,但是这个方法,还没有啊,怎么办,那么就要在service里面的userService接口里面定义一下这个方法。定义方法是:返回的类型 名称:
实例:
List<User> getInfo(String id, String name); List<User>是返回类型,是一个list,里面是user对象
3.service里面也定义了,那么就是serviceimpl的接口类里面去实现这个方法。首先,初始化这个list,然后在userDao是处理数据库的接口,通过userDao去请求数据库,怎没请求,方法是什么写的呢,这个方法
是按照一定的格式的,然后jpa是按照这个格式去拼成sql,不需要自己写sql了,比如:getAll()方法,就是查询全部,
实例:
public List<User> getInfo(String id, String name) {
//List<User> list=userDao.findAll(); //查全部
List<User> list=userDao.findByNameLike("%"+name+"%");// 通过名称模糊匹配
return list;
}
然后这个findByNameLike()这个方法就会报错,说没有这个方法,那要怎么办呢?
4.在dao文件里面,增加这个方法,
实例
public interface UserDao extends JpaRepository<User, Long> {
List<User> findByNameLike(String name);
List<User> findByIdLike(String id);
List<User> findByNameAndIdLike(String id,String name);
}
5.运行,这个接口是实现了。