摘要
- 数据库属性定义自定义类型是报错
- there is no getter for property named “xx” in class
- have an error SQL syntax
- java.lang.ClassCastException
插入语句jsonObject数据报错
情景1:数据库属性定义自定义类型是报错
情况1:
==原因==:insert请求是具体参数没设置“其他属性”
==解决方案==:对个别属性添加属性就行,就是下面的↓
情况2:
==原因==:因为加了“.class”导致无法找到类
==解决方案==:去掉红色括号里面的就行
情况3:
==原因==:iBatis没有对应的类型,也就是这里的类型写错了
==解决方案==:
改成
情景2:there is no getter for property named “xx” in class
==原因==:#{里面写错了,对应的应该是类对象具体的属性}
==解决方案==:改成 #{taskId}
情景3:have an error SQL syntax
==原因==:#在{}里面了,比如{#id}
==解决方案==:改成#{id}
情景4:java.lang.ClassCastException
==原因==:sql查询场景,字段和对象属性不一一对应,针对性查询不要光使用@ResultMap("resultMap")
==解决方案==:使用@Results注解
@Results({
@Result(column = "metrics_name", property = "metricsName", jdbcType = JdbcType.VARCHAR),
@Result(column = "max", property = "max", jdbcType = JdbcType.VARCHAR),
@Result(column = "min", property = "min", jdbcType = JdbcType.VARCHAR),
@Result(column = "avg", property = "avg", jdbcType = JdbcType.VARCHAR),
@Result(column = "sum", property = "sum", jdbcType = JdbcType.VARCHAR),
@Result(column = "time", property = "time", jdbcType = JdbcType.VARCHAR)})
情景5:插入语句jsonObject数据报错
==原因==:插入语句的jsonobject没有加类型,也就是下面这样
==解决方案==:插入字段加jsonObject属性就行