org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.qiang.dao.UserM

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.qiang.dao.UserMapper.xxxx 记录下这个折磨了我两天的问题
比较着急直接看黄字部分
我的问题是我的项目中有很多mapper文件,开始对新添加的cartitem(需要连接外表flower做展示)进行增删改都没有问题,昨天突然在刚启动index.jsp就出错跳转到了error.jsp页面。
index用的是对usermapper的操作,照理讲这个我最近一直都没动过应该没啥问题啊,所以我就又运行了下后台对admin操作的页面发现也不行,由此我就认为是配置路径的文件出问题了,几经试验发现我的路径是错的,又陷入了自闭
后来我又在test包下建了文件来测试usermapper持久层代码有无问题

 InputStream in= Resources.getResourceAsStream("sqlconfig.xml");
        SqlSessionFactory factory= new SqlSessionFactoryBuilder().build(in);
        SqlSession session= factory.openSession();
        UserMapper userMapper=session.getMapper(UserMapper.class);
        User users=userMapper.selectByPrimaryKey(2);
//        for (User user : users) {
            System.out.println(users);
//        }
        session.close();
        in.close();

发现还是报标题错,后来发现是我把cartitem的扫包注掉后就可以正常运行了

        <mapper resource="com/qiang/mapping/CartItemMapper.xml"/>

再一检查,原来是我的select语句有问题

<select id="findOne" parameterType="int" resultMap="BaseResultMap">
        select * from cartitem where <include refid="con"/>
    </select>

我的select是涉及一对一的,所以要把cartitem对应的flower也要查出来也即<select id="findOne" parameterType="int" resultMap="BaseResultMap"> select cartitem.uid,cartitem.pid as fpid,cartitem.count,flower.* from cartitem natural join flower where <include refid="con"/> </select>
被自己蠢哭了orz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值