开发者社区> 问答> 正文

spring mvc注解+ibatis 执行方法的时候报错 There is n?报错

这个是我配的spring-server.xml,SqlMapConfig.xml,User.xml

 

 

 

 

 

 

 

 

展开
收起
爱吃鱼的程序员 2020-06-14 22:45:45 623 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1、User.xml还是UserDao.xml? 

    2、查询时应该加上namespace里面的那一串

    像sqlSession.select("com.liyi.dao.UserDao.selectUser");


    回复 @XzhiF:好吧麻烦你了呀我会仔细查看的回复 @李伊子:~好难找。1、检查sqlMapClientTemplate在spring中有没配置对。2、调用代码findAll这个能成功吗?肯定要加namespace.select的id值这种方式调用的。3、报空指针的话,给详细的异常栈看下呗回复 @XzhiF:贴好了嘿嘿麻烦你看一下回复 @李伊子:贴上调用代码。目录结果是UserDao.xml我写的着急了,我试过了,在调用发发的时候加上了namespace.方法,直接报空指针拜托不要沉贴呀,我真的很想知道哪里错了com.liyi.dao.UserDao都不写,想干嘛?
    回复 @李伊子:其实,这样把调用加上namespace,然后把resultMap这个配置全部删除,应该就可以了。回复 @sxgkwei:的确呀所以呢。。。我应该怎么改呀回复 @李伊子:user被定义了2次,一次是别名,一次是map,你让ibats情何以堪。什么意思我没有听懂我在UserDao.xml里面写了namespace了不就是接口的路径吗我一头雾水呀我真心不会是因为在执行queryForList的时候没加namespace?回复 @李伊子:namespace只是为了标识当前的sqlmap文件,你随便去什么名字都可以,在使用query的时候用这样的queryForList('namespace的名字'+'.selecteuser')就好了啊但是到底是我哪里没有配置对,才没有正确加载呀,我namespace里面写的是接口的路径!我不清楚namespace应该对应的是什么 这位亲,你的xml文件id为selectUser而dao里面要调findAll这样自然会报错。写这个一定要记住,一定把对应的方法名称和xml文件的id写的一致才可以。恩,那个方法是我后改的,我用代码生成器生成是findAll,为了统一我改了,后来配置文件截图截的是以前的,应该不是这个问题,不过谢谢你呀看的那么仔细

    引用来自“李伊子”的评论

    拜托不要沉贴呀,我真的很想知道哪里错了好嘞谢谢你了呀

    引用来自“李伊子”的评论

    拜托不要沉贴呀,我真的很想知道哪里错了
    2020-06-14 22:46:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多