my atis-myBatis中的实体类一旦给它构造方法,使用就会报错,为什么

问题描述

myBatis中的实体类一旦给它构造方法,使用就会报错,为什么

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class cn.lyh.dto.Order with invalid types () or values (). Cause: java.lang.NoSuchMethodException: cn.lyh.dto.Order.()

The error may exist in cn/lyh/mapper/OrderMapper.xml

The error may involve cn.lyh.mapper.OrderMapper.getOrder-Inline

The error occurred while setting parameters

SQL: select *from orders where order_id=?

Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class cn.lyh.dto.Order with invalid types () or values (). Cause: java.lang.NoSuchMethodException: cn.lyh.dto.Order.()

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62)
at cn.lyh.test.test.main(test.java:14)

Caused by: org.apache.ibatis.reflection.ReflectionException: Error instantiating class cn.lyh.dto.Order with invalid types () or values (). Cause: java.lang.NoSuchMethodException: cn.lyh.dto.Order.()
at org.apache.ibatis.reflection.factory.DefaultObjectFactory.instantiateClass(DefaultObjectFactory.java:83)
at org.apache.ibatis.reflection.factory.DefaultObjectFactory.create(DefaultObjectFactory.java:45)
at org.apache.ibatis.reflection.factory.DefaultObjectFactory.create(DefaultObjectFactory.java:38)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:530)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:509)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:329)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:289)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:264)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:234)
at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:152)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:57)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:259)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:132)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
... 3 more
Caused by: java.lang.NoSuchMethodException: cn.lyh.dto.Order.()
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.apache.ibatis.reflection.factory.DefaultObjectFactory.instantiateClass(DefaultObjectFactory.java:57)
... 20 more

解决方案

你的构造方法是有参的吗? 实体类必须有一个无参构造方法,否则java能过反射找不到这个类 所以不能被实例化

时间: 2024-10-09 20:31:31

my atis-myBatis中的实体类一旦给它构造方法,使用就会报错,为什么的相关文章

封装-java web项目中用户实体类定义

问题描述 java web项目中用户实体类定义 在java web项目中,都有用户信息封装在用户实体类中.然后在控制类中多个方法都需要调用这个用户实体类.那么,第一种方案:我可以将这个用户实体类定义成全局变量,并在第一次登录的时候赋值,然后在之后的方法中就可以直接调用该全局变量.第二种方案:在登录的时候将用户实体类存入session中,然后在其他方法调用时,从session中取出该实体.请问这两种方案应该用哪种?如果是第二种,那是否应该将该用户实体定义为全局变量,然后在每次需要调用时,从sess

C# 三层中的实体类有什么用呢?

问题描述 我想问问假设现在有实体类(Model.cs)privatestringUID=string.empty;privatestringUNAME=string.empty;publicstringID{get{returnUID;}set{UID=value;}}publicstringNAME{get{returnUNAME;}set{UNAME=value;}}然后到业务逻辑层(BLL)最后就数据链路层(DAL)当中实体类就是用来干什么的,能举个例子说明吗? 解决方案 解决方案二:这样

eclipse-java Collection类添加不同类型的元素 为什么会报错? jdk1.8

问题描述 java Collection类添加不同类型的元素 为什么会报错? jdk1.8 解决方案 1.自动装箱会把基本类型转换成对应的包装类,比如int会装箱为Integer类,但不会装箱成String类. 2.你可以这么写: c.add(String.valueOf(6)); 3.定义集合的时候,最好指出集合中元素的类型: Collection<String> c = new ArrayList<String>(); 解决方案二: 我的都不会报错!我的也是1.8 解决方案三:

mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错

问题描述 mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错 mybatis 向oracle 采用foearch批量插入 如下代码: insert into (id,name,clobs) SELECT #{item.id},#{item.name},#{item.clobs} FROM DUAL 报错信息:仅能绑定要插入 LONG 列的 LONG 值 可是如果采用普通的insert into (id,name,clobs) values(#{id},#{nam

plsql-PLSQL中定义显式游标时用了INTO子句没有报错,请教这个INTO子句的作用是什么?

问题描述 PLSQL中定义显式游标时用了INTO子句没有报错,请教这个INTO子句的作用是什么? 如题,在定义显式游标时用了INTO子句,能编译正常且执行也没错,请问这里的into有啥作用? 代码如下: DECLARE pi_org_cd VARCHAR2(15); -- org cd CURSOR cur_test_data IS SELECT 'MYTEST' org_cd INTO pi_org_cd FROM DUAL ; BEGIN OPEN cur_test_data; FETCH

maven compile报错-eclipse中指定父pom的compile插件版本后子工程报错

问题描述 eclipse中指定父pom的compile插件版本后子工程报错 开发环境:eclipse mars,m2eclipse,maven3.3(external) parent pom中,Management配置compile插件,但是不指定版本, son pom中不配置compile-Plugin, 此时执行编译:发现使用的是compile plugin version = 3.1 问题开始: 此时修改 Management配置compile插件version= other,比如3.3

数据库 oracle-oracle的存储过程中,执行用databaae links建立的另外一个存储过程报错!

问题描述 oracle的存储过程中,执行用databaae links建立的另外一个存储过程报错! 本地存储过程执行另外一个用数据链接操作的存储过程报错,是个oracle代码,题是分布式数据库不能操作 理论上通过数据链接应该可以执行的. 为什么? 解决方案 http://www.educity.cn/wenda/411522.html

javascript-js代码中加上两个alert就好用,去掉就报错

问题描述 js代码中加上两个alert就好用,去掉就报错 var mvc = new suspicionmanagement.views.MainViewController(); var view = mvc.getView() var v_dataGrid = view.getDataGrid(); v_dataGrid.load(); alert(v_dataGrid); var datas = v_dataGrid.items.length;//得到总记录数 alert(datas);

ajax中eval()解析函数(json反馈值)函数字符串解析 报错问题

ajax中eval()解析函数(json反馈值)函数字符串解析 报错问题 在一个ajax效果实现的时候,火狐报错,内容意思大概是"函数字符串解析错误",于是用alert(),发现 var result = eval(xmlhttp.responseText); 这句eval函数报错,xmlhttp.responseText可以正常弹出,但只要是eval函数一解析,就会报错,并且不显示数据:蛋疼的我只好在一般处理程序中开始设置断点,查询错误,不知道原因的我一开始就将问题锁定在了反馈值这上