在MyBatis中指定數據源的方式取決于您使用的是XML配置文件還是注解方式。
如果您使用XML配置文件:
1. 在您的`mybatis-config.xml`文件中,可以配置多個數據源。例如:
這里我們使用了一個名為`development`的環境,并且配置了一個`POOLED`類型的數據源。
2. 在您的Mapper XML文件中,可以通過`namespace`標簽來指定該Mapper接口對應的數據源。例如:
3. 當您在代碼中使用`SqlSessionFactory`創建`SqlSession`時,可以指定使用哪個數據源。例如:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, environment); SqlSession sqlSession = sqlSessionFactory.openSession();
如果您使用注解方式:
1. 在您的Java配置類中,可以使用`@Configuration`和`@MapperScan`注解來配置并掃描Mapper接口。例如:
@Configuration
@MapperScan(basePackages = "com.example.mapper", sqlSessionTemplateRef = "mySqlSessionTemplate")
public class MyBatisConfig {
// 配置數據源和其他必要的Bean
@Bean(name = "mySqlSessionFactory")
public SqlSessionFactory mySqlSessionFactory(@Qualifier("myDataSource") DataSource dataSource)
throws Exception {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
// 配置其他屬性
return sessionFactoryBean.getObject();
}
@Bean(name = "mySqlSessionTemplate")
public SqlSessionTemplate mySqlSessionTemplate(@Qualifier("mySqlSessionFactory")
SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}2. 在您的Mapper接口上,可以使用`@Mapper`注解來指定該接口對應的數據源。例如:
@Mapper
public interface MyMapper {
// Mapper的方法定義
}請根據您的具體項目需求選擇適合的方式來指定數據源,并在配置文件或注解中正確配置相應的數據源信息。