1.定义了一个内部类 1.定义了一个内部类 1234567891011class Outer{ private String name; class Inner{ private Integer min; private Integer max; } getter... setter...} 2.m
1.定义了一个内部类
1234567891011class Outer{ private String name; class Inner{ private Integer min; private Integer max; } getter... setter...}2.mybatis实现了对应内部类的resultMap
12343.最后的结果报异常:
1org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.cheng.test.Outer$Inner matching [java.lang.Integer, java.lang.Integer]4.报的异常是说我缺少构造函数,但是定义类内部类的构造函数也没用.Outer类里,写Inner构造函数会提示错误.请问是哪里有问题?
以上是原问题.
根据
1jpmonty的答案我实现成功了,就是增加了一个静态声明就解决了. 在
1mybatis中调用内部类要用
1$符号,这也是网上查到的,但是没有说明需要使用静态内部类.至于原因,我的猜测是,静态内部类能直接调用
1new Inner(),而内部类却只能通过
1new Outer()生成的实例来调用内部类.所以可以通过这种方法实现.
【本文由:武汉网站建设 http://www.1234xp.com/wuhan.html 网络转载请说明出处】