- 数据库映射文件中,查询语句要加返回值的类型;
如果不加,且查询的数据为空,就会报以下错误:
nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.prositech.v11j.match.dao.PuserClosetDao.getByEntityUserid'. It's likely that neither a Result Type nor a Result Map was specified."
查询语句如下:
<select id="getByEntityUserid" resultType="PuserCloset">
SELECT
<include refid="PuserClosetColumns"></include>
FROM puser_closet a
WHERE a.entity_userid=#{entityUserid} AND a.del_flag=0
</select>
2.控制器中的get类型的方法中传参的问题:
-如果参数是String或Integer等对象,那么不传这个参数,就默认传null;
-如果参数是int类型,那么不传这个参数,就会提示404,找不到这个映射;
出现第二种情况的原因:int类型的参数没有默认值,所以不传就会跟映射的方法对应不上,因为参数不一致,所以就提示404;
所以控制器中传参时,要传对象,不能传基本类型
代码如下:
@RequestMapping(value = "getPartnerList", method = {RequestMethod.GET})
@ResponseBody
public String getPartnerList(Date id,
HttpServletRequest request,
HttpServletResponse response,
HttpSession session){
try{
if(id==null)
return JsonMapper.toJsonString(JSONErrorBuilder.PERSONAL_USER_ID_NULL);