Fork me on GitHub

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>

这样就能对应到各个数据库中

posted @ 2020-12-15 11:32  叶语婷  阅读(300)  评论(0编辑  收藏  举报