MyBatis中selectKey无效的原因可能有以下几点:
使用的数据库不支持selectKey:有些数据库并不支持类似于MySQL的LAST_INSERT_ID()或者Oracle的sequence,这样就无法正确使用selectKey来获取自动生成的主键。
selectKey配置错误:在配置selectKey时,需要确保设置了正确的属性,比如keyProperty、order等,否则无法正确获取生成的主键值。
未正确使用selectKey:在使用selectKey时,需要确保在插入数据之前调用selectKey来获取生成的主键值,否则无法正确获取主键值。
主键生成策略冲突:有时候不同的主键生成策略可能会导致selectKey无效,比如同时配置了自动生成主键和手动指定主键,这样就可能导致selectKey失效。
数据库连接错误:如果数据库连接出现问题,可能导致selectKey无法正确执行,从而无法获取生成的主键值。