注意:本文配置不涉及Spring,仅限于Mybatis内。
思路:
1、configuration.xml配置文件中environments内参数写成动态传参;
2、DBUtil类中构建SQLSessionFactory时读取传入的数据库连接配置信息动态生成。
案例如下:
1)configuration.xml配置信息:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="UNPOOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
2)DBUtil类:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.sz.properties.MG01;
public class DBUtil {
public SqlSession getSqlSession(Properties properties) throws IOException {
// 通过配置文件获取数据库连接信息
InputStream stream = Resources.getResourceAsStream("Configuration.xml");
/*
System.out.println(properties