Error querying database. Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.
Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.] with root cause
java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.
at org.apache.ibatis.mapping.ParameterMapping$Builder.validate(ParameterMapping.java:119) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.mapping.ParameterMapping$Builder.build(ParameterMapping.java:104) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.buildParameterMapping(SqlSourceBuilder.java:123) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.handleToken(SqlSourceBuilder.java:67) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.parsing.GenericTokenParser.parse(GenericTokenParser.java:78) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder.parse(SqlSourceBuilder.java:45) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:44) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:292) ~[mybatis-3.4.6.jar:3.4.6]
at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:83) ~[pagehelper-5.1.4.jar:na]
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) ~[mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy.$Proxy176.query(Unknown Source) ~[na:na]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.6.jar:3.4.6]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ~[mybatis-spring-1.3.2.jar:1.3.2]
at com.sun.proxy.$Proxy113.selectList(Unknown Source) ~[na:na]
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:139) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:76) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) ~[mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy.$Proxy122.selectByExample(Unknown Source) ~[na:na]
代码如下:=================================
for(){
.....
//拼接example,动态sql
switch (type) {
case EQURE:
criteria.andEqualTo(columnName, proValue);
break;
case NOTEQURE:
criteria.andNotEqualTo(columnName, proValue);
break;
case LIKE:
if (proValue instanceof String) {
criteria.andLike(columnName, "%" + proValue + "%");
}
break;
case RANGE:
Column ca = (Column) poClass.getDeclaredField(proName).getAnnotation(Column.class);
//获取表字段名
String cn = Optional.ofNullable(ca).map(va -> va.name()).orElse(proName);
if (proValue instanceof String) {
StringBuilder stringBuilder=new StringBuilder(cn);
if(((String) proValue).indexOf(",")!=-1) {
String[] s = ((String) proValue).split(",");
if (StringUtils.isEmpty(s[0]) && StringUtils.isNotEmpty(s[1])) {
stringBuilder.append("<=").append(s[1]);
} else if (StringUtils.isNotEmpty(s[0]) && s.length == 1) {
stringBuilder.append(">=").append(s[0]);
} else {
stringBuilder.append(" between ").append(s[0]).append(" and ").append(s[1]);
}
}
criteria.andCondition(stringBuilder.toString());
}
/* 此处与通用mapper的类型不匹配
if (proValue instanceof String) {
String[] s = ((String) proValue).split(",");
if (StringUtils.isEmpty(s[0]) && StringUtils.isNotEmpty(s[1])) {
criteria.andLessThanOrEqualTo(columnName, s[1]);
criteria.andCondition()
} else if (StringUtils.isNotEmpty(s[0]) && s.length == 1) {
criteria.andGreaterThanOrEqualTo(columnName, s[0]);
} else {
criteria.andBetween(columnName, s[0], s[1]);
}
}
*/
break;
case LIST:
if (proValue.getClass().isArray()) {
criteria.andIn(columnName, Arrays.asList(proValue));
} else if (proValue instanceof List) {
criteria.andIn(columnName, (List) proValue);
}
break;
...
}
.....
if (order.getOrderType().equals(FilterWrapper.ORDER_TYPE_ASC)) {
if (Optional.ofNullable(orderBy).isPresent()) {
orderBy = orderBy.orderBy(orderName).asc();
} else {
orderBy = example.orderBy(orderName).asc();
}
} else {
if (Optional.ofNullable(orderBy).isPresent()) {
orderBy = orderBy.orderBy(orderName).desc();
} else {
orderBy = example.orderBy(orderName).desc();
}
}
.....
return secondHouseMapper.selectByExample(example);
Error querying database. Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.
Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.] with root cause
java.lang.IllegalStateException: Type handler was null on parameter mapping for property '__frch_listItem_3'. It was either not specified and/or could not be found for the javaType ([Ljava.lang.Integer;) : jdbcType (null) combination.
at org.apache.ibatis.mapping.ParameterMapping$Builder.validate(ParameterMapping.java:119) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.mapping.ParameterMapping$Builder.build(ParameterMapping.java:104) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.buildParameterMapping(SqlSourceBuilder.java:123) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.handleToken(SqlSourceBuilder.java:67) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.parsing.GenericTokenParser.parse(GenericTokenParser.java:78) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.SqlSourceBuilder.parse(SqlSourceBuilder.java:45) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:44) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:292) ~[mybatis-3.4.6.jar:3.4.6]
at com.github.pagehelper.PageInterceptor.intercept(PageInterceptor.java:83) ~[pagehelper-5.1.4.jar:na]
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) ~[mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy.$Proxy176.query(Unknown Source) ~[na:na]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.6.jar:3.4.6]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ~[mybatis-spring-1.3.2.jar:1.3.2]
at com.sun.proxy.$Proxy113.selectList(Unknown Source) ~[na:na]
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:139) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:76) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) ~[mybatis-3.4.6.jar:3.4.6]
at com.sun.proxy.$Proxy122.selectByExample(Unknown Source) ~[na:na]
代码如下:=================================
for(){
.....
//拼接example,动态sql
switch (type) {
case EQURE:
criteria.andEqualTo(columnName, proValue);
break;
case NOTEQURE:
criteria.andNotEqualTo(columnName, proValue);
break;
case LIKE:
if (proValue instanceof String) {
criteria.andLike(columnName, "%" + proValue + "%");
}
break;
case RANGE:
...
}
.....
if (order.getOrderType().equals(FilterWrapper.ORDER_TYPE_ASC)) {
if (Optional.ofNullable(orderBy).isPresent()) {
orderBy = orderBy.orderBy(orderName).asc();
} else {
orderBy = example.orderBy(orderName).asc();
}
.....
return secondHouseMapper.selectByExample(example);