阅读(4657) (0)

MyBatis 3 动态SQL-多数据库支持

2022-04-11 10:16:44 更新

多数据库支持

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

<insert id="insert">
  <selectKey keyProperty="id" resultType="int" order="BEFORE">
    <if test="_databaseId == 'oracle'">
      select seq_users.nextval from dual
    </if>
    <if test="_databaseId == 'db2'">
      select nextval for seq_users from sysibm.sysdummy1"
    </if>
  </selectKey>
  insert into users values (#{id}, #{name})
</insert>