使用MyBatis过程中遇到的问题

声明:本人列出的解决方案,肯定是解决了自己的问题,但是不一定能解决各位的问题,毕竟同一个错误也可能是不同原因导致的。

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>>接收返回数据。


持续不断更新中......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值