Spring学习笔记(十八):使用jeesite时的一些问题总结

  1. 数据库映射文件中,查询语句要加返回值的类型;
    如果不加,且查询的数据为空,就会报以下错误:
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); 

你可能感兴趣的:(Spring学习笔记(十八):使用jeesite时的一些问题总结)