本来准备研究下mybatis源码执行流程的,就随意搭建了个项目,所有配置如下:

一切看似都是那么的正常,然而执行的时候:Exception in thread "main" org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.nijunyang.mybatis.mapper.UserMapper.insertUser

1.发现org.apache.ibatis.session.Configuration#mappedStatements始终是空的,等于说mapper文件的类容根本没有被加载解析

2.org.apache.ibatis.builder.annotation.MapperAnnotationBuilder#loadXmlResource加载xml根本没有加载到

3.文件路径看似都是对的,但是却加载不到文件流org.apache.ibatis.io.Resources#getResourceAsStream(java.lang.ClassLoader, java.lang.String)

各种找问题,以为是名字不对等等,重新写各项配置,结果还是不行。最后恍然大悟,这配置文件是用classloader加载的,遂检查jar包(class目录)发现mapper.xml文件根本没有编译进去,再看pom文件,资源文件的打包配置空空如也。

所以看似正常的xml文件路径,实则并不正常,因为在jar/class里面并没有将配置文件打进去

因此在源文件包里面写配置,pom文件一定要注意加上打包资源的配置

因此在源文件包里面写配置,pom文件一定要注意加上打包资源的配置

因此在源文件包里面写配置,pom文件一定要注意加上打包资源的配置

默认的编译只会将java源文件编译出来的class文件打包走,而不会打包其他文件,撸上<resources>节点万事大吉

自己挖的坑跪着也要填完---mapper配置文件和java源文件在同一包下的更多相关文章

  1. 挖个坑,写一个Spring+SpringMVC+Mybatis的项目

    想挖个坑督促自己练技术,有时候想到一个项目,大概想了一些要实现的功能,怎么实现.现在觉得自己差不多能完成QQ空间的主要功能了.准备立个牌坊,写一个类似功能的网站.并且把进度放到这里来. 初步计划实现以 ...

  2. webapi 给自己挖的坑

    这次做项目,负责开发web api. 自己给自己挖了个坑.在所有的api接口前面都加上一个static . 结果检查路由配置.代码等等都找不到问题所在. 最后在一个同事的提醒下,原来是static给惹 ...

  3. 《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了

    这是why技术的第34篇原创文章 本周还是在家办公的一周,上面的图就是我在家的工位,和上周<Dubbo Cluster集群那点你不知道的事>这篇文章里面的第一张图片比起来,升级了显示器支撑 ...

  4. C++模板元编程 - 挖新坑的时候探索到了模板元编程的新玩法

    C++真是一门自由的语言,虽然糖没有C#那么多,但是你想要怎么写,想要实现什么,想要用某种编程范式或者语言特性,它都会提供. 开大数运算类的新坑的时候(又是坑),无意中需要解决一个需求:大数类需要分别 ...

  5. JAVAFX之tableview界面实时刷新导致的内存溢出(自己挖的坑,爬着也要出来啊0.0)

    这几天遇到了一个问题,不幸开发的一个cs架构的工具,客户端开启后,内存一直在缓慢增长最终导致进程卡死,花了4天时间,终于爬出来了... 客户端通过timer定时器每30秒查询一次数据库以及一些业务逻辑 ...

  6. IOS - NSDate 自己挖的坑,自己跳

    NSDate:5是坑啊啊! NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDat ...

  7. 关于MySQL redo log,挖些坑,慢慢填

    1. 为什么可以设置为多个redo log ? (innodb_log_files_in_group,默认值和推荐值都是2,我们线上设的统一为4): 2. 什么条件下会触发刷脏?除了master_th ...

  8. HDU 2089 不要62(挖个坑=-=)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  9. wikioi3363支线剧情(挖个坑,不会做。。。)

    3363 支线剧情 题目描述 Description 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往都有很多 ...

随机推荐

  1. VS2005下第一个ATL

    作者:kagula 日期:  2008-9-2 环境: [1]VisualStudio2005简体中文版(必需已经安装C语言开发环境支持) [2]WinXP+SP3 读者要求: 初步使用过Visual ...

  2. Boltzmann 玻尔兹曼机(BM)

    Hopfield + 模拟退火 ⇒ Boltimann machine(随机神经网络),由 Hinton 和他的长期合作者 Sejnowski(Hopfield 的博士生) 共同提出. 1. 基本公式 ...

  3. NS2网络模拟(3)-吞吐率

    1: #NS2_有线部分\Throughput.awk 2: 3: BEGIN { 4: #Initialize the variable 5: init = 0; 6: i = 0; 7: } 8: ...

  4. C# 比较不错的通用验证码

    1 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging ...

  5. 基于VC面部识别软件(识别出人脸特征)

    最近在学校MFC和Opencv,毕业只是做面部识别软件,所以写一个,我觉得很简单. 第一个VC组态opencv.不用说.非常easy,网上资料非常多,然后就是设计界面啦,这个全然凭个人喜好了,我设计的 ...

  6. hdu 2037 这个夏天不AC (java)

    问题: 这个题为项贪心算法.我们的想法是在第一时间每个周期根据结束排序(按结束越早穿越,更多的程序), 然后从第一个节目开始.假设下一个节目的开始时间大于一个节目的开始时间,是进行程序,依次递推. 输 ...

  7. 用SendNotifyMessage代替PostMessage避免消息丢失(WIN7下消息队列的默认长度是10000,队列满后消息将被丢弃)

    大家都知道PostMessage会丢消息,但是消息队列的大小是多少呢,下面做了一个测试. 代码:   1 unit Unit1; 2 3 interface 4 5 uses 6 Windows, M ...

  8. SendMessage函数与MSDN系统预定义消息

    SendMessage function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950%28v=vs.85%29. ...

  9. Microsoft.AspNet.SignalR实现弹幕(即时通讯)

    引用 Microsoft.AspNet.SignalR 服务器 自定义Connection public class BarrageConnection : PersistentConnection ...

  10. CSS visibility 属性 使元素占位,但不可见

    CSS visibility 属性 使元素占位,但不可见 h2 { visibility:hidden; } 浏览器支持 所有主流浏览器都支持 visibility 属性. 注释:任何的版本的 Int ...