一、数据库环境切换 (驱动jar)
1.首先准备jar包 https://mvnrepository.com/artifact/mysql/mysql-connector-java 选择合适版本自行下载
a.mysql-connector.jar
b.ojdbc.jar
c.mybatis.jar
2.切换 environment (指定实际使用的数据库)
<environment id="devMysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 配置数据库信息 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2B8"/>
<property name="username" value="root" />
<property name="password" value="123456"/>
</dataSource>
</environment>
&&注意:a.driver加cj
b url需要加?serverTimezone=GMT%2BB
c 密码要改成自己的;
3.配置 Provider别名
<!-- 配置数据库支持类 -->
<databaseIdProvider type="DB_VENDOR">
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider>
4.写不同数据库的SQL语句
<!-- oracle -->
<select id="queryStudentByNo" resultType="org.feng.entity.Student" parameterType="int" databaseId="oracle">
select * from student where stuNo = #{stuNo}
</select>
<!-- mysql -->
<select id="queryStudentByNo" resultType="org.feng.entity.Student" parameterType="int" databaseId="mysql">
select * from student where stuNo = #{stuNo}
</select>
&&要注意参数databaseId 进行数据库SQL语句切换;
5.在mappe.xml中配置databaseId="Provider别名"
注意事项:a.如果mapper.xml的 sql标签 仅有 一个 不带databaseId的标签,则改标签 会自动适应当前数据库。
b.如果 既有不带databaseId的标签,又有带databaseId的标签,则程序会优先使用带databaseId的标签