java.sql.SQLException: Column 'class' not found.异常没有找到列

 1 /**处理当个对象的 ,rs中要么有一条,要么一条没有。
 2  * @param <T>
 3  */
 4 public class BeanHandler<T> implements ResultSetHandler<T> {
 5     private Class<T> type;
 6     public BeanHandler(Class<T> type){
 7         this.type = type;
 8     }
 9     /**将rs->T t
10      */
11     public T handle(ResultSet rs) throws SQLException {
12         //1使用反射技术创建T类型的对象t
13         //type ->User.class
14         //type.newInstance() “等价于”User user = new User();
15         T t =null;
16         try {
17             t = type.newInstance();
18             if(rs.next()){
19                 //User.class ->BeanInfo info
20                 BeanInfo info = Introspector.getBeanInfo(type);
21                 //从info中获取所有属性对应的对象(属性类型,属性名称,setXxx和getXxx)
22                 PropertyDescriptor[] pds = info.getPropertyDescriptors();
23                 //遍历数组
24                 for(int i =0;i<pds.length;i++){
25                     //获得当前t对象的当前属性对应的setXxx(..)
26                     Method mt = pds[i].getWriteMethod();
27                     //获取当前属性的名称 比如:username
28                     String pname = pds[i].getName();
29                     //t.setXxx(rs.getString("属性名称"))
30                     mt.invoke(t, rs.getObject(pname));
31                 }
32             }
33             return t;
34         } catch (Exception e) {
35             e.printStackTrace();
36         }
37
38         return t;
39     }
40 }

测试,抛出了异常:
java.sql.SQLException: Column ‘class‘ not found.
出错原因是:
rs.getObject("class");
数据库的表user表中不存在名称为class的列。
我们在User类根本没有class,为何会有这一列的出现呢?
原因是User没有指定父类时,某人是Object的子类,从Object类中继承了class属性,故此
出现类class列不存在的问题。
解决办法:

1 try{
2 mt.invoke(t, rs.getObject(pname));
3 }catch (SQLException e) {
4 continue;
5 }

java.sql.SQLException: Column 'class' not found.异常没有找到列

时间: 2024-10-27 12:29:23

java.sql.SQLException: Column 'class' not found.异常没有找到列的相关文章

hibernate 出现Caused by: java.sql.SQLException: Column &#39;id&#39; not found.异常

用hibernate进行映射查询时,出现Caused by: java.sql.SQLException: Column 'id' not found 异常,检查数据库表及映射都有id且已经正确映射,google后发现原因为: Your query doesn't return a field named id即查询sql中没有查询出主键id列,但返回结果集中用到,故出现异常特此记录. 详细解答见下: http://stackoverflow.com/questions/34164411/cau

Hibernate卡住,然后报错java.sql.SQLException: Unknown system variable &#39;language&#39;异常

启动应用的时候会卡在: 08:22:58,221 DEBUG IntegratorServiceImpl:46 - Adding Integrator [org.hibernate.cfg.beanvalidation.BeanValidationIntegrator]. 08:22:58,226 DEBUG IntegratorServiceImpl:46 - Adding Integrator [org.hibernate.secure.spi.JaccIntegrator]. 08:22:

java.sql.SQLException:Column count doesn&#39;t match value count at row 1

1.错误描述 java.sql.SQLException:Column count doesn't match value count at row 1 2.错误原因     在插入数据时,插入的字段个数跟数据库表字段个数不一致 insert into student(sno,sname,sage,ssex) values(1,'张三丰','man'); 3.解决办法     保证插入数据字段个数跟数据库表中的字段个数一致 insert into student(sno,sname,sage,s

java.sql.SQLException:Column count doesn&amp;#39;t match value count at row 1

1.错误描写叙述 java.sql.SQLException:Column count doesn't match value count at row 1 2.错误原因     在插入数据时,插入的字段个数跟数据库表字段个数不一致 insert into student(sno,sname,sage,ssex) values(1,'张三丰','man'); 3.解决的方法     保证插入数据字段个数跟数据库表中的字段个数一致 insert into student(sno,sname,sag

resultset 对象获取行字段数据时报:java.sql.SQLException: Column &#39;id&#39; not found.

resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found. 代码: String sql="SELECT d.content,c.name AS categoryName FROM news_detail d,news_category c WHERE d.categoryId=c.id"; Object[] params ={}; System.out.println(this.executeQuery(sq

ibatis 更改resultmap后 java.sql.SQLException: Column &#39;del_status&#39; not found.

当在resultmap中增加字段后,查询语句也必须增加相应字段,否则会报错, java.sql.SQLException: Column 'del_status' not found. 因为查询结果与resultmap对应不上,ibatis在查询获得结果集中找不到resultmap的对应字段, 我是在resultmap中增加字段,但select语句中并没有增加,折腾了半天 如果属性类型为基本类型而非包装类型,并且数据库中数据为null,那么就会报错 Caused by: java.lang.Ru

Caused by: java.sql.SQLException: Column &#39;show_type&#39; not found

今天在处理个问题的时候遇到了这么个bug,难住了老半天.网上找了挺多资料.这是因为hibernate在别名上的不支持.处理方案是在jdbc数据库连接上计入了这么个配置. 绿色的相当于是个连接符. url="jdbc:mysql://localhost:3306/game_center?useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true" 参考的博文是:http://blog.c

java.sql.SQLException:Column Index out of range,0&lt;1

1.错误描述 2.错误原因 try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = null; Statement stat = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "root

表情存储异常--mybatis抛出异常(java.sql.SQLException: Incorrect string value: &#39;\xF0\x9F\x92\x94&#39; for column &#39;name&#39; at row 1)

文章参考 https://blog.csdn.net/junsure2012/article/details/42171035 https://www.cnblogs.com/WangYunShuaiBaoLe/p/9055215.html https://www.jb51.net/article/112879.htm 背景 iOS端测试时发现,在备注一栏输出emoji表情,保存时出现系统异常 java项目架构 spring-boot+mybatis+德鲁伊连接池 现象 抛出  java.sql