文章目录
摘要
- 数据库属性定义自定义类型是报错
- 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属性就行