常见的 MyBatis 错误

常见的 MyBatis 错误

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘name’ in ‘field list’

The error may involve defaultParameterMap

The error occurred while setting parameters

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘name’ in ‘field list’

主要原因:

Mybatis XML中的SQL语句查询的列,不在数据库中。新增SQL语句中的列不在数据库中,或列对应的值,数据类型不一致。

问题描述:

Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘oid’ in field list is ambiguous

The error may involve defaultParameterMap

The error occurred while setting parameters

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘oid’ in field list is ambiguous

主要原因:连接查询时没有指定共有字段的所属表。 也就是说。A表有name字段,B表也有name字段。连接查询时查询name时。SQL服务器不知道返回哪个表的name字段导致。

问题描述:

Exception in thread “main” org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found:

主要原因:在接口中指定单个返回对象。但执行SQL后,有多条符合条件的数据。

Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for UserDao.getUserByName

原因: 在UserDao中,有两个同名方法getUserByName导致。

Error updating database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘username’ in ‘com.andyqian.user.bean.User’
Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘education’ in ‘class com.andyqian.user.bean.User’

原因: SQL中查询的列,在其实体对象中不存在对应的属性。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部