springboot+mybatis 的org.mybatis.spring.MyBatisSystemException 解决方法

Posted 猿力觉醒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot+mybatis 的org.mybatis.spring.MyBatisSystemException 解决方法相关的知识,希望对你有一定的参考价值。

"nested exception is org.apache.ibatis.exceptions.PersistenceException: \r\n### Error querying database.  Cause: java.lang.UnsupportedOperationException\r\n### The error may exist in com/hiteamtech/uws/dao/AppsDao.java (best guess)\r\n### The error may involve com.hiteamtech.uws.dao.AppsDao.findAppInfoByUserId\r\n### The error occurred while handling results\r\n### SQL: SELECT id,app_name,create_time,app_Introduction,user_id from app_info where status = 1 and user_id =? order by id limit ?,?\r\n### Cause: java.lang.UnsupportedOperationException"

以下是我DAO层的代码

和CONTROLLER层代码

@Select("SELECT id,app_name,create_time,app_Introduction,user_id from app_info where status = 1 and user_id =#{userId} order by id limit #{page},#{pageCount}")
List findAppInfoByUserId(@Param("userId") int userId, @Param("page") int page1, @Param("pageCount") int pageCount);



@GetMapping(value = "/apps/{userId}/{page}/{pageCount}")
public ResponseEntity<Map> findAppsByUserId(@PathVariable("userId") int userId, @PathVariable("page") int page, @PathVariable("pageCount") int pageCount,Map<String,Object> map){
log.debug("根据用户ID获取我的产品:"+ userId + "page:" + page+"pageCount:"+ pageCount);
map.put("appCount",iappService.findAppsCount(userId));
map.put("appInfo",iappService.findAppsByUserId(userId,page,pageCount));
return new ResponseEntity<>(map,HttpStatus.OK);
}


因为controller里返回的JSON数据是Map 所以不能用List 返回DAO

可以对DAO做以下修改

@Select("SELECT id,app_name,create_time,app_Introduction,user_id from app_info where status = 1 and user_id =#{userId} order by id limit #{page},#{pageCount}")
List<Map<String,Object>> findAppInfoByUserId(@Param("userId") int userId, @Param("page") int page1, @Param("pageCount") int pageCount);

以上是关于springboot+mybatis 的org.mybatis.spring.MyBatisSystemException 解决方法的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot使用·下篇(SpringBoot集成MyBatis+日志打印+MyBatis-plus)

springboot.springboot用最简单的方式整合mybatis

yml的mybatis的sql查看;Mybatis+Springboot 控制台查看日志,Mybatis结合springboot打印日志

SpringBoot 整合其他框架 -- SpringBoot整合Mybatis

企业分布式微服务云SpringCloud SpringBoot mybatis (十三)Spring Boot整合MyBatis

SpringBoot(48) — MyBatis-plus基本配置