前提:我现在有三种数据库 分别是 oracle、mysql、pg
场景:现在使用mybatis操作表,执行insert语句,但是我需要返回当前这次插入的主键,其中mysql的主键已被设置为自增,oracel和pg是通过序列查询的
问题:在执行插入的时候,使用selectkey获取本次插入的主键,但是oracle和pg是通过对应的序列查询的,所以selectkey的order 要被设置为 before 。mysql是通过 LAST_INSERT_ID()这个函数,它的order只能被设置为 after
尝试方式:1、selectkey和useGeneratedKeys="" keyProperty="" 配合使用,这种不行
2、在insert和selectkey标签上设置对应的database,这种在项目启时就被定死了,不能实现切换,然而selectkey标签不能方进任何的判断标签。