java 代码片段如下:
// 查询条件
Cnd cnd = Cnd.where("deleted", "=", false).and(Cnd.exps("auditStatus", "=", 0).or("auditStatus", "=", 20))
.and("pauseFlag", "=", false).and("publishExpiredTimestamp", ">=", nowTimestamp);
if (StringUtils.compareTrim(params.getClassifyCode())) {
cnd.and("classifyCode", "=", params.getClassifyCode());
}
if (params.getMinWeight() > 0.0) {
cnd.and("weight", ">", params.getMinWeight());
}
if (params.getMaxWeight() > 0.0) {
cnd.and("weight", "<", params.getMaxWeight());
}
// 起运地、港
String startAddress = params.getStartAddress();
if (StringUtils.compareTrim(startAddress)) {
startAddress = StringUtils.removeEmpty(startAddress);
cnd.and("start_address", "LIKE", "%" + startAddress + "%");
}
// 目的地、港
String targetAddress = params.getTargetAddress();
if (StringUtils.compareTrim(targetAddress)) {
targetAddress = StringUtils.removeEmpty(targetAddress);
cnd.and("target_address", "LIKE", "%" + targetAddress + "%");
}
日志里的sql语句如下:
SELECT COUNT(*) FROM v_wx_infop_supply_demand_publish_list WHERE deleted=false AND (audit_status=0 OR audit_status=20) AND pause_flag=false AND publish_expired_timestamp >= 1600239050007 AND startAddress LIKE '不限' AND classify_code='logistics.car.source' AND target_address LIKE '%不限%'
错误日志:
2020-09-16 14:50:50,016 [DEBUG-http-nio-8080-exec-1:26322] com.lb.dinas.mvc.LogTimeProcessor.process(LogTimeProcessor.java:36) [POST]URI=/dinas/wx/xcx/xx/infop_publish/logistics_page_list----> public com.lb.dinas.entity.vo.Result com.lb.dinas.modules.wx.xcx.xx.WxXcxXxInfopPublishModule.logisticsPageList(com.lb.dinas.entity.params.wx.WxLogisticsInfopParams)39ms
org.nutz.dao.DaoException: !Nutz SQL Error: 'SELECT COUNT(*) FROM v_wx_infop_supply_demand_publish_list WHERE deleted=false AND (audit_status=0 OR audit_status=20) AND pause_flag=false AND publish_expired_timestamp >= 1600239050007 AND startAddress LIKE '不限' AND classify_code='logistics.car.source' AND target_address LIKE '%不限%''
PreparedStatement:
'SELECT COUNT(*) FROM v_wx_infop_supply_demand_publish_list WHERE deleted=? AND (audit_status=? OR audit_status=?) AND pause_flag=? AND publish_expired_timestamp >= ? AND startAddress LIKE ? AND classify_code=? AND target_address LIKE ?'
CaseMessage=Unknown column 'startAddress' in 'where clause'
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:104)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:66)
at com.lb.dinas.aop.UpdateDaoInterceptor.filter(UpdateDaoInterceptor.java:35)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:64)
at org.nutz.dao.impl.interceptor.DaoTimeInterceptor.filter(DaoTimeInterceptor.java:23)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:64)
at org.nutz.dao.impl.interceptor.DaoLogInterceptor.filter(DaoLogInterceptor.java:22)
at org.nutz.dao.DaoInterceptorChain.doChain(DaoInterceptorChain.java:64)
at org.nutz.dao.DaoInterceptorChain.invoke(DaoInterceptorChain.java:139)
at org.nutz.dao.impl.sql.run.NutDaoRunner.runCallback(NutDaoRunner.java:159)
at org.nutz.dao.impl.sql.run.NutDaoRunner._runWithoutTransaction(NutDaoRunner.java:126)
at org.nutz.dao.impl.sql.run.NutDaoRunner._run(NutDaoRunner.java:93)
at org.nutz.dao.impl.sql.run.NutDaoRunner.run(NutDaoRunner.java:82)
at org.nutz.dao.impl.DaoSupport.run(DaoSupport.java:240)
at org.nutz.dao.impl.DaoSupport._exec(DaoSupport.java:252)
at org.nutz.dao.impl.NutDao._count(NutDao.java:730)
at org.nutz.dao.impl.NutDao.count(NutDao.java:687)
at com.lb.dinas.modules.wx.xcx.xx.WxXcxXxInfopPublishModule.logisticsPageList(WxXcxXxInfopPublishModule.java:146)
at com.lb.dinas.modules.wx.xcx.xx.WxXcxXxInfopPublishModule$FM$logisticsPageList$2a3ebf61f992b9c743269cb763695fae.invoke(WxXcxXxInfopPublishModule.java)
at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:31)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:38)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at com.lb.dinas.mvc.LogTimeProcessor.process(LogTimeProcessor.java:29)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:202)
at com.lb.dinas.web.filter.DinasFilter.doFilter(DinasFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.lb.dinas.mvc.filter.CrossFilter.doFilter(CrossFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'startAddress' in 'where clause'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:941)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3188)
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:465)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3185)
at com.alibaba.druid.wall.WallFilter.preparedStatement_executeQuery(WallFilter.java:640)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3185)
at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_executeQuery(FilterEventAdapter.java:465)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3185)
at com.alibaba.druid.filter.FilterAdapter.preparedStatement_executeQuery(FilterAdapter.java:1086)
at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_executeQuery(FilterChainImpl.java:3185)
at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.executeQuery(PreparedStatementProxyImpl.java:181)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:228)
at org.nutz.dao.impl.sql.run.NutDaoExecutor._runSelect(NutDaoExecutor.java:272)
at org.nutz.dao.impl.sql.run.NutDaoExecutor.exec(NutDaoExecutor.java:53)
... 61 more
从sql语句中可以看出有的字段自动转换成了蛇形命名,有的字段却不会转,导致包找不到列的错误。请问这是为什么?