声明:本人列出的解决方案,肯定是解决了自己的问题,但是不一定能解决各位的问题,毕竟同一个错误也可能是不同原因导致的。
1、Parameter 'XXX' not found.Available parameters are [0, 1, param1, param2].
原因及解决方法:当只传一个参数到sql语句时,可以直接写参数名,当传多个参数时,应当用数字代替参数名,从0开始。例如这样写#{0},#{1}...;还有一种方法,将多个参数封装成对象,将整个对象作为参数传过去,sql中这样接参数#{Object.property}。
2、java.sql.SQLException: ORA-00911: 无效字符,
java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符.
原因及解决办法:在写sql的xml配置文件中,sql写完不要加分号。
3、查询数据库中Date类型的字段,返回到Java Bean中也是Date类型,mybatis会自动将Date类型转换为long时间,而不是“yyyy-MM-dd”日期形式的问题.
解决办法:在Java Bean中Date类型的get方法上加上注解@JsonFormat(com.fasterxml.jackson.core)
private Date productDate;
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
public Date getProductDate() {
return productDate;
}
public void setProductDate(Date productDate) {
this.productDate = productDate;
}
4、Expected one result (or null) to be returned by selectOne(), but found:2.
原因及解决办法:你想查一条或者你前台写的方法只能只限定查一条数据,查询结果返回了两条。修改sql语句或者返回类型。
注意:mybatis如果返回Map类型的话,一个Map对象代表一行数据,要想返回多个Map,需要将Map放在List中,用List<Map<Object, Object>>接收返回数据。
持续不断更新中......