我有一个表tbl_user,我试图从路径变量中给出ID时得到一个对象。但是,每当我尝试通过findById()创建方法时,服务部分都会出现错误。
表
void QRect::adjust(int dx1, int dy1, int dx2, int dy2)
控制器
CREATE TABLE `tbl_user` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) DEFAULT NULL,
`email` VARCHAR(255) NOT NULL,
`contact` VARCHAR(255) NOT NULL,
`status` ENUM('active','inactive') NOT NULL,
UNIQUE KEY `email` (`email`),
UNIQUE KEY `contact` (`contact`),
PRIMARY KEY (`id`)
);
服务
@RequestMapping(value = "/find/user/{id}", method = RequestMethod.GET)
public JsonNode getUser(HttpServletRequest httpServletRequest, @PathVariable(value = "id") long userId) throws IOException {
JSONObject response = new JSONObject();
User user = new User();
try {
user = userService.getUserByUserId(userId);
if (user != null) {
response = utility.createResponseObject(200, KeyWord.SUCCESS, new JSONObject(utility.convertPOJOtoString(user)));
} else {
response = utility.createResponseObject(500, KeyWord.ERROR, new JSONObject());
}
} catch (Exception e) {
return objectMapper.readTree(utility.createResponse(500, KeyWord.ERROR, e.toString()).toString());
}
return objectMapper.readTree(response.toString());
}
存储库
public User getUserByUserId(long userId) {
return userRepository.findById(userId);
}
我的红色下划线了
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
在这里。 我究竟做错了什么?如果您能帮助的话,那就太好了。
答案 0 :(得分:2)
如果您在findById
接口上查看Repository
定义,它将返回一个Optional而不是实体类:
Optional<T> findById(ID id)
返回:具有给定id或Optional#empty()的实体(如果没有) 找到