当前位置:首页 > 移动开发 > 正文

mybatis报错:A query was run and no Result Maps were found for

2024-03-31 移动开发

今天在做ssm项目的时候出现了:

先是出现 了错误:

mybatis报错:A query was run and no Result Maps were found for the Mapped Statement

这是因为Dao.xml中的select标签中必须指定要返回的值的类型(注意:是返回值的单个类型,即如果你是返回一个List<User>的话,需要指定的是User)

具体的这种错误的解决办法见:https://www.cnblogs.com/isme-zjh/p/11757155.html

当我解决完之后,又出现了一个新的问题:见下面:

 

Caused by: org.apache.ibatis.exceptions.PersistenceException: ### 。。。。
The error may involve com.thinkgem.jeesite.common.permission.dao.PremissUserDao.getPremissUserList ### The error occurred while handling results

 

 

 

原因:一般都是自己的Dao对应的xml文件出了问题

我这里是select 标签的id指定了,大但是select标签中的查询语句返回的类型没有指定,也就是没有resultType参数,还有一个需要注意的点是:这里参数需要指定的是返回的单个的java类型,即是如果你通过查询需要返回的是一个lIst<xxx>的话,你在这个参数的位置也需要指定的是单个的java的类型,而不是指定为java.util.List

错误的代码

   <select id="getPremissUserList" resultType="java.util.List">
        select 
        <include refid="premissUserColumns"/>
        from premiss_user u
        <include refid="premiss_user_join"/>
    </select>

项目的时候出现了:

 

Caused by: org.apache.ibatis.exceptions.PersistenceException: ### 。。。。

 The error may involve com.thinkgem.jeesite.common.permission.dao.PremissUserDao.getPremissUserList ### The error occurred while handling results

 

原因分析:

我自己去 网上查的时候发现大家出现【Caused by: org.apache.ibatis.exceptions.PersistenceException:】错误的时候,大多是自己的Mapper配置文件除了问题,所以去仔细检查自己的Mapper.xml吧!

我这里是select 标签的id指定了,大但是select标签中的查询语句返回的类型没有指定,也就是没有resultType参数,还有一个需要注意的点是:这里参数需要指定的是返回的单个的java类型,即是如果你通过查询需要返回的是一个lIst<xxx>的话,你在这个参数的位置也需要指定的是单个的java的类型,而不是指定为java.util.List

 

错误的代码

 

   <select id="getPremissUserList" resultType="java.util.List">

        select 

        <include refid="premissUserColumns"/>

        from premiss_user u

        <include refid="premiss_user_join"/>

    </select>

 

正确的:

<select id="getPremissUserList" resultType="com.thinkgem.jeesite.common.permission.entity.PremissUser">
        select 
        <include refid="premissUserColumns"/>
        from premiss_user u
        <include refid="premiss_user_join"/>
    </select>

 

 

之后又遇见的一个新的问题:这个应该是相应的用到login_ip的jsp文件出了问题

十月 29, 2019 10:25:10 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [springServlet] in context with path [/Demo] threw exception [javax.el.PropertyNotFoundException: Property [login_ip] not found on type [com.thinkgem.jeesite.common.permission.entity.PremissUser]] with root cause
javax.el.PropertyNotFoundException: Property [login_ip] not found on type [com.thinkgem.jeesite.common.permission.entity.PremissUser]

 

问题出现

 

 

更改为user这个实体类中有的loginIp即可

 

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/yidong/26845.html