当前位置 : 主页 > 网络编程 > 其它编程 >

该如何实现?

来源:互联网 收集:自由互联 发布时间:2023-07-02
1.定义了一个内部类 1.定义了一个内部类 1234567891011class Outer{    private String name;        class Inner{        private Integer min;        private Integer max;    }        getter...    setter...} 2.m
1.定义了一个内部类

1.定义了一个内部类

1234567891011class Outer{    private String name;        class Inner{        private Integer min;        private Integer max;    }        getter...    setter...}

2.mybatis实现了对应内部类的resultMap

1234                   

3.最后的结果报异常:

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 网络转载请说明出处】
上一篇:WinForm计时器
下一篇:没有了
网友评论