2 u010893843 u010893843 于 2016.09.27 10:55 提问

Invalid bound statement (not found)问题

UserMapper.xml文件内容
图片说明
图片说明
SqlMapConfig.xml文件内容
图片说明
图片说明

UserMapper.java接口内容

图片说明

项目结构图

图片说明

求大神指点,上面哪个地方配置错了,一直报Invalid bound statement (not found)

5个回答

Veggiel
Veggiel   2016.09.27 11:14

申明之后需要给个

Veggiel
Veggiel   2016.09.27 11:14
 <resultMap id="userResultMap" type="User">
u010893843
u010893843 回复Veggiel: 我把模糊查询改成只能查到一条结果的,也不行
大约一年之前 回复
Veggiel
Veggiel 不改也行,但是你的sql语句是模糊查询不可能只返回一个值的吧,里面的值要改成hashmap
大约一年之前 回复
u010893843
u010893843 我用的是resultType,是否要改成resultMap
大约一年之前 回复
u010893843
u010893843   2016.09.27 18:35

UserMapper.xml

图片说明

UserMapper.java

图片说明

findUserByName是可以正确执行的,但是findUserByList一直报Invalid bound statement (not found)

图片说明

u010893843
u010893843 回复Veggiel:
大约一年之前 回复
Veggiel
Veggiel 你检查一下findUserByList这个方法中是否有包导错了;在UserMapperTest这个类的第51行 看看有什么问题
大约一年之前 回复
u010893843
u010893843   2016.09.28 10:16

这是测试类UserMapperTest.java的代码

 @Test
    public void findUserByList() throws Exception{
        // 通过工厂创建回话
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建userMapper对象,mybaties自动生成该对象
        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        List<UserVo> list=userMapper.findUserByList("张");
        sqlSession.close();
        System.out.println(list);
    }
Veggiel
Veggiel 这个类中51行是哪一行
大约一年之前 回复
Veggiel
Veggiel 你的配置和代码看不出来有什么问题,你截图报错的地方是指这个findUserByList()无效未知资源,而且这个方法所在包的位置有问题
大约一年之前 回复
Veggiel
Veggiel   2016.09.28 10:58

试试看,不保证行,把你的sqlSession先注释掉

 private SqlSessionTemplate sqlSession;//作为该类的属性,并且生成get和set方法
 然后
  List<UserVo> = sqlSession.getMapper(UserMapper.class).findUserByList("张");

Csdn user default icon
上传中...
上传图片
插入图片