mybatis 没有结果映射, a query was run and no Result Maps were found for the mapped statement.

mybatis 没有结果映射如何解决:

异常报错如下:

### Error querying database.  Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.jin.mapper.UserMapper.getUserById'.  It's likely that neither a Result Type nor a Result Map was specified.
 

接口类如图:

映射文件如图

执行代码也是正确的

@Test
    public void testUpdate() throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);// auto commit = true
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById();
        System.out.println(user);
    }

执行之后报错如标题错误。

让我们仔细看异常:其实这一句就是我们的解决方案, 我们需要去映射文件设置result type/result map

### Error querying database.  Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.jin.mapper.UserMapper.getUserById'.  It's likely that neither a Result Type nor a Result Map was specified.
 

 解决方法:映射文件加入resultType

    <!--getUserById-->
    <select id="getUserById" resultType="com.jin.pojo.User">
        select * from t_user where id = 2
    </select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值