2 nmszt55 nmszt55 于 2016.04.20 00:28 提问

使用DButils查询语句在DAO层报错Cannot Create Bean。。。query:。。。

报错信息:

java.sql.SQLException: Cannot create Bean.privilege: Bean.privilege Query: select p.* from privilege p,privilege_role pr where p.id=pr.p_id and pr.r_id=? Parameters: [007]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:351)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:180)
at dao.privilegeDao.getRoleprivileges(privilegeDao.java:80)
at service.BussinessService.getRolePrivileges(BussinessService.java:89)
at servlet.showRolePriUIServlet.doPost(showRolePriUIServlet.java:64)
at servlet.showRolePriUIServlet.doGet(showRolePriUIServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at filter.CharacterFilter.doFilter(CharacterFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at filter.RoleFilter.doFilter(RoleFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2516)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2505)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:619)

DAO查询语句

    public List<privilege> getRoleprivileges(String Rid){
        try{
            QueryRunner qr = new QueryRunner();
            String sql = "select p.* from privilege p,privilege_role pr where p.id=pr.p_id and pr.r_id=? ";
            return (List<privilege>) qr.query(JDBCUtils.getconnection(),sql,Rid,new BeanListHandler<privilege>(privilege.class));
        }
        catch(Exception e){
            e.printStackTrace();
            throw new RuntimeException();
        }
    } 

privilegeBean

图片说明

6个回答

nmszt55
nmszt55   2016.04.20 00:36

补充,在数据库中创建了身份(role)数据库和一个(权限)数据库,还有2个库的连接数据库里面索引的身份和权限的id,想通过查询得到身份ID为XXX的包含的所有权限,但是查询过程中抛出500错误。求大神解答,

nmszt55
nmszt55   2016.04.20 00:36

使用的DbUtils框架,Handler为BeanListHandler。。。有没有对DBUtils熟悉的大手子

nmszt55
nmszt55   2016.04.20 00:38

没有C币了,能解决的大手子我给你支付宝上打点钱吧

fubo1990
fubo1990   2016.04.20 07:46

你没有privilege这个实体。或者映射文件。你可以把sql中的privilege改成privilegeBean试试

nmszt55
nmszt55 实体就是privilege,,,,Dbutils的映射就是DAO层写的BeanListHandler(privilege.class)但是就是取不出来。我在mysql中这条语句可以正常查询
大约 2 年之前 回复
nmszt55
nmszt55   2016.04.20 14:12

问题解决!

把privilege改成了Privilege,就解决了,我也是醉了!!!!

fubo1990
fubo1990   2016.04.20 14:13

mysql 中是正常的。你按我的试试可以不?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
dbutils中使用BeanListHandler时发生的错误
下面是我的程序代码截图,代码很简单,就是利用queryrunner的query方法进行数据查询,然后将查询的结果数据封装在一个bean集合中数据库表截图如下:程序一运行,就发生下面的错误java.sql.SQLException: Cannot create com.haitao.gaoruan.Biao01: com.haitao.gaoruan.Biao01 Query: select * fr
dbUtils的基本使用
dbUtils是对JDBC的完全封装,只需要导入连接池,添加sql语句,dbUtils就可以返回各种封装形式的结果集。 如果纯手动的话,在DAO层使用JDBC查询一个语句的话,需要以下几步: 1创建Connection对象 2创建PreparedStatement对象 3创建sql语句 4使用PreparedStatement对象的Query() Update()等查询更新方法,获取ResultSe
关于DAO 模糊查询的小记
本来是很简单的功能啦。有段时间没有接触了,现在重新丢出来,哪怕很简单,以后有时间看到自己的成长历程也是一种幸事,更能珍惜成长的过程和感悟吧!人生一世,总得给自己一个过得去的交代不是! 废话不多说,上代码喽,就直接上DAO层的代码了,实体类就是属性封装,接口,实现层都不用多说,,,/* * 条件查询 */ public List
Bean实体的不规范写法,所导致的奇葩SQLException
我们在使用DBCP作为数据源(由Apache开发的),使用Apache下的开源数据源,利用DBCPUtil工具操作数据源,对数据进行增删改查。 我们会常常遇到这种问题: 二月 18, 2016 1:49:43 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [c
DAO,如何实现模糊查询
定义一个DAO public class DAO { private QueryRunner queryRunner = new QueryRunner(); private Class clazz; public DAO(){ Type superClass = getClass().getGenericSuperclass(); if(superClass in
使用DBUtils编写通用的DAO【很有价值】
1、定义DAO接口(便于)
Spring boot的dao层继承jpa启动报错
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xxxController': Unsatisfied dependency expressed through field 'xxxService'; nested exception is org.sp...
Java DbUtils的使用
原文参考:http://blog.csdn.net/earbao/article/details/44901061     http://blog.csdn.net/samjustin1/article/details/52220423 自写Demo示例见csdn下载: 一、apache DBUtils是java编程中的数据库操作实用工具,小巧简单实用。 1.对于数据表的读操作,他可以
apache commons 之 DbUtils QueryRunner使用之迷雾重重
DbUtils 和 DBCP一般需要一起使用。          在ORALCE环境下运行。          首先创建一张表,创建表语句。 create table tb_user(USERNAME varchar2(64)  ,PASSWORD  varchar2(64));   首先来看一段程序运行后的异常: Exception in thread "main"java.lang
springboot dao层注解失败
springboot dao层注解失败springboot 项目编译报错 报错信息如下Field ulevelDao in demo.service.impl.UlevelServiceImpl required a bean of type demo.dao.UlevelDao' that could not be found.Consider defining a bean of type '