【求助】关于使用DBUtils查询数据库出现“cannot create query”异常

悼良会之永绝兮 2014-11-23 02:12:40
为了测试DBUtils工具包的应用,我写了一小段代码,其中在使用QueryRunner类的query方法的时候出现了“cannor create query select * from student Parameters: []” 异常。经过多方求诊问题还是未解决.
1. 首先建了一个类Student,属性有id, name, sex, age, score
2.数据库中表student的字段同上
3.异常:
java.sql.SQLException: Cannot create BlogTest.Student: BlogTest.Student Query: select * from student Parameters: []
4..错误代码:

求错误的原因以及解决办法 多谢

...全文
693 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AirTrioa 2018-10-22
  • 打赏
  • 举报
回复
就是缺少无参构造函数,在Javabean中把无参构造加上去就好
coder_______ 2015-11-29
  • 打赏
  • 举报
回复
引用 3 楼 u012430520 的回复:
不知道你解决了没有。。我今天也碰到了,折腾了两天,最后发现是Javabean错误。。。只能有get和set方法 不能有构造器和其他的。。否则就报错!
Bean类里必须要有一个无参构造才可以。
Iamagril 2015-07-03
  • 打赏
  • 举报
回复
错误好像是不能创始javaBean Student,看看是不是Student 哪错了
fangjialea 2015-06-28
  • 打赏
  • 举报
回复
不知道你解决了没有。。我今天也碰到了,折腾了两天,最后发现是Javabean错误。。。只能有get和set方法 不能有构造器和其他的。。否则就报错!
我是大秦 2015-05-19
  • 打赏
  • 举报
回复
从异常上面可以看出,就是JavaBean创建错误。
highnewrain 2014-11-24
  • 打赏
  • 举报
回复
继承BeanListHandler<Student>,重写其handle方法,查询的时候传递重写的处理器
queryRunner.query(cn,sql,MyBeanListHandler(Student.class));
重写的处理器代码可参考下面:
class MyBeanListHandler extends BeanListHandler<Student>
	{
		public MyBeanListHandler(Class type) {
			super(type);
		}
		@Override
		public List<Student> handle(ResultSet rs) throws SQLException {
			List<Student> list=new ArrayList<Student>();
			while(rs.next())
			{
				Student student=new Student();
				student.setId(rs.getInt("id"));
				//...设置其它属性
				list.add(student);
			}
			return list;
		}
	}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧