mybatis多数据库支持databaseIdProvider标签
一、除了上篇提到的bind标签外,当数据库切换时,sql标签很多需要做相应的变化,为解决这种情况,引入了databaseIdProvider标签,让其完成多个数据库切换和sql语句的不变。
1. mybatis_config.xml中添加标签:
<databaseIdProvider type="DB_VENDOR">
<property name="SQL Server" value="sqlserver"/>
<property name="DB2" value= "db2"/>
<property name="Oracle Server" value="oracle"/>
<property name="MySQL" value= "rnysql"/>
<property name="PostgreSQL" value="postgresql"/>
<property name="Derby" value= "derby"/>
<property name="H2" value= "h2"/>
<property name="HSQL" value= "hsqldb"/>
</databaseIdProvider>
2. 对应的sql标签中添加属性databasId:
<update id="updateByMap" databaseId="mysql"> update sys_user set <foreach collection="_parameter" item="val" index="key" separator=","> ${key} = #{val} </foreach> where id = #{id} </update>
这样就能对应到各个数据库中

浙公网安备 33010602011771号