zoukankan      html  css  js  c++  java
  • springboot mybatis多数据库支持

    1.配置 application-dev.properties

    # ================================================
    #                   MyBatis配置
    # ================================================
    #开启驼峰命名
    mybatis.configuration.map-underscore-to-camel-case=true
    mybatis.configuration.database-id=${database.type}
    

    注意database-id的配置
    2.在springboot中配置DatabaseIdProvider

    @Bean
    public DatabaseIdProvider getDatabaseIdProvider() {
        DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
        Properties properties = new Properties();
        properties.setProperty("Oracle", "oracle");
        properties.setProperty("MySQL", "mysql");
        properties.setProperty("DB2", "db2");
        properties.setProperty("Derby", "derby");
        properties.setProperty("H2", "h2");
        properties.setProperty("HSQL", "hsql");
        properties.setProperty("Informix", "informix");
        properties.setProperty("Microsoft SQL Server", "sqlserver");
        properties.setProperty("PostgreSQL", "postgresql");
        properties.setProperty("Sybase", "sybase");
        properties.setProperty("Hana", "hana");
        databaseIdProvider.setProperties(properties);
        return databaseIdProvider;
    }
    

    注意:数据库版本是否正确
    3.在 mapper.xml 中使用
    方法1

    <select id="selectTop" resultType="java.util.Map" parameterType="java.lang.Integer" databaseId="sqlserver">
        select top(#{value})*
        from kcjs
      </select>
    
    <select id="selectTop" resultType="java.util.Map" parameterType="java.lang.Integer" databaseId="mysql">
        select *
        from kcjs limit 0,#{value}
    </select>
    

    方法2

    <select id="selectTop" resultType="java.util.Map" parameterType="java.lang.Integer">
        select
        <if test="_databaseId==sqlserver">
            top(#{value})*
            from kcjs
        </if>
        <if test="_databaseId==mysql">
            *
            from kcjs limit 0,#{value}
        </if>
    
    </select>
    
  • 相关阅读:
    nc之二:nc命令详解
    memcache redundancy机制分析及思考
    memcache和redis区别
    java操作mongodb
    Memcache缓存与Mongodb数据库的优势和应用
    memcache 存储单个KEY,数据量过大的时候性能慢!以及简单的memcache不适合用到的场景
    pkill详解
    修改linux用户密码
    Mysql函数INSTR、LOCATE、POSITION VS LIKE
    Servlet3.0之九:web模块化
  • 原文地址:https://www.cnblogs.com/tangyouwei/p/14108271.html
Copyright © 2011-2022 走看看