mysql查询数据为null返回值报错_关于MySQL语句中有IFNULL , 查询结果 返回类型为 [B...

错误语句:SELECT IFNULL(MAX(xzqhbh)+1,CONCAT('100','01')) as a FROM xzqh WHERE fjxzqhbh ='#'

表结构和数据。CREATE TABLE `xzqh` (

`ID` bigint(20) NOT NULL auto_increment,

`XZQHBH` varchar(255) default NULL COMMENT '行政区划编号',

`FJXZQHBH` varchar(255) default NULL COMMENT '父级行政区划编号',

`XZQHMC` varchar(255) NOT NULL COMMENT '行政区划名称',

`XZQHDM` varchar(10) NOT NULL COMMENT '行政区划代码',

`XZQHJB` tinyint(4) default NULL COMMENT '0总局 1省 2市 3县 4乡镇 5村',

`XZQHMS` varchar(255) default NULL COMMENT '行政区划描述',

`XZQHPX` int(10) default NULL COMMENT 'jsTree所用到的属性(默认为空)',

PRIMARY KEY  (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=259 DEFAULT CHARSET=utf8 COMMENT='行政区划表';

/*Data for the table `xzqh` */

insert  into `xzqh`(`ID`,`XZQHBH`,`FJXZQHBH`,`XZQHMC`,`XZQHDM`,`XZQHJB`,`XZQHMS`,`XZQHPX`) values (1,'-1','#','中国','000000',0,NULL,7);

贴上异常:

java.lang.ClassCastException: [B cannot be cast to com.jfinal.plugin.activerecord.Record

at com.askj.zs.xzqh.model.Xzqh.addByPar(Xzqh.java:82)

at com.askj.zs.xzqh.controller.XzqhController.xzqhTreeSave(XzqhController.java:73)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at com.jfinal.aop.Invocation.invoke(Invocation.java:73)

at com.jfinal.ext.interceptor.SessionInViewInterceptor.intercept(SessionInViewInterceptor.java:44)

at com.jfinal.aop.Invocation.invoke(Invocation.java:67)

at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)

at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:47)

at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:72)

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:218)

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:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1083)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:640)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

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

出错误处的源码: List query(Config config, Connection conn, String sql, Object... paras) throws SQLException {

ArrayList result = new ArrayList();

PreparedStatement pst = conn.prepareStatement(sql);

config.dialect.fillStatement(pst, paras);

ResultSet rs = pst.executeQuery();

int colAmount = rs.getMetaData().getColumnCount();

if(colAmount <= 1) {

if(colAmount == 1) {

while(rs.next()) {

result.add(rs.getObject(1));

}

}

} else {

while(rs.next()) {

Object[] temp = new Object[colAmount];

for(int i = 0; i 

temp[i] = rs.getObject(i + 1);

}

result.add(temp);

}

}

DbKit.close(rs, pst);

return result;

}

result.add(rs.getObject(1));  result里面的值就已经错了。以为是JDBC的问题,但是我自己写JDBC查询方法,是没问题的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值