MyBatis 在MySQL 新增数据报下面错误,新增语句正确。数据能存入,但执行SELECT LAST_INSERT_ID()会加一句
SELECT LAST_INSERT_ID() order by id desc 。莫名其妙。
环境
mybatis 3.4.5
mysql-connector-java 5.1.44
mysql版本5.1
错误提示:
org.springframework.jdbc.BadSqlGrammarException: Error selecting key or setting result to parameter object.
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'id' in 'order clause';
bad SQL grammar [];
nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'id' in 'order clause'apiMapper.xml配置如下:
<insert id="insert" parameterType="com.xx.model.Api">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
SELECT LAST_INSERT_ID()
</selectKey>
insert into t_api
发现。Api域对象有句
public String getOrderBy(){
return "id desc"
}
删除掉这个方法。mybatis新增没问题。
应该是mybatis默认产生sql会映射,契约命名方法