侧边栏壁纸
博主头像
会飞的大象博主等级

爱运动的程序猿

  • 累计撰写 126 篇文章
  • 累计创建 158 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

一套程序兼容多种数据库(非多数据源)

会飞的大象
2023-01-11 / 0 评论 / 0 点赞 / 824 阅读 / 229 字

在配合mysqlplus之后效果更佳,可以直接兼容各种数据库


#mysqlplus兼容常用mysql、oracle、sqlserver等还兼容国产的达梦、人大金仓等

1.配置加载bean,databaseId

@Bean
public DatabaseIdProvider getDatabaseIdProvider(){
	DatabaseIdProvider databaseIdProvider = new VendorDatabaseIdProvider();
	Properties properties = new Properties();
	properties.setProperty("Oracle","oracle");
	properties.setProperty("MySQL","mysql");
	databaseIdProvider.setProperties(properties);
	return databaseIdProvider;
}

2.mapper调用方法

2.1 第一种

<mapper namespace="com.xxx.mapper" > 
 
<select id="list" resultType="com.xxx.base.TestDemo" databaseId="mysql">
       SELECT * from test_demo
</select>
 
<select id="list" resultType="com.xxx.base.TestDemo" databaseId="oracle">
       SELECT * from test_demo
</select>
 
</mapper>

2.1 第二种

<mapper namespace="com.xxx.mapper" > 
 
<select id="list" resultType="com.xxx.base.TestDemo">
      <if test="_databaseId == 'oracle'">
          SELECT * from test_demo
      </if>
        <if test="_databaseId == 'mysql'">
          SELECT * from test_demo
      </if>
</select>
</mapper>
0

评论区