多数据库支持

如果配置了 databaseIdProvider,你就可以在动态代码中使用名为 “_databaseId” 的变量来为不同的数据库构建特定的语句。比如下面的例子:

  1. <insert id="insert">
  2. <selectKey keyProperty="id" resultType="int" order="BEFORE">
  3. <if test="_databaseId == 'oracle'">
  4. select seq_users.nextval from dual
  5. </if>
  6. <if test="_databaseId == 'db2'">
  7. select nextval for seq_users from sysibm.sysdummy1"
  8. </if>
  9. </selectKey>
  10. insert into users values (#{id}, #{name})
  11. </insert>