前一篇介绍了mybatis配置多个数据源,可以切换不同的数据库环境。有一种情况:比如一个系统中使用了多个数据源,系统该怎么判别每个sql语句使用的是哪种类型数据库的语法呢?mybatis提供了一种方法,可以在配置文件中指定每个sql语句使用的是哪种数据库语法,执行是可按照该数据库解析对应的sql。
该标签为<databaseIdProvider>
,在mybatis的主配置文件中添加该标签,在该标签下添加多种数据库,然后在mapper配置文件中的每个语句中指定该语句使用的是哪种数据库解析该语句。
具体操作详见实例:
1.创建实例类
Employee
package org.mybatis.environments;
import org.apache.ibatis.type.Alias;
@Alias("empp")
public class Employee {
private Integer id;
private String lastName;
private String email;
private String gender;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email
+ ", gender=" + gender + "]";
}
}