Spring整合JUnit,Mybatis

燕子去了發表於2024-04-07
Spring整合JUnit

使用 @RunWith 註解指定執行器,使用 @ContextConfiguration 註解來指定配置類或者配置檔案。

@RunWith(SpringJUint4ClassRunner.class)         //設定執行器
@ContextConfiguration(classes = SpringConfig.class)  // 載入環境
public class xxxText{
    @Autowired
    private A a;
    @Test
    public void testSave(){
        a.save();
    }
}
Spring整合Mybatis

SpringConfig:匯入 JdbcConfig 配置類,匯入 MybatisConfig 配置類

@Configuration
@ComponentScan("com.itheima")
@PropertySource("classpath;jdbc.properties")
@Import({JdbcConfig.class,MyBatisConfig.class}
public class SpringConfig {
    
}

JDBCConfig;定義資料來源(載入properties配置項: driver、url、username、password)

jdbc.properties配置檔案

public class JdbcConfig {
    @Value("$jdbc.driver}")
    private String driver;
    @Value("${jdbc.ur1}")
    private String url;
    @Value("${jdbc.username}")
    private String userName ;
    @Value("${jdbc.password}")
    private String password;
    
    @Bean
    public DataSource getDataSource(){
    	DruidDataSource ds = new DruidDataSource();
    	ds.setDriverClassName(driver);
    	ds.setUr1(ur1);
    	ds.setUsername(userName);
    	ds.setPassword(password);
    	return ds;
    }
}
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_db
jdbc.username=root
jdbc.password=1234

MyBatisConfig:定義SqlSessionFactoryBea,定義對映配置

@Bean
public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource dataSource){
	SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
	ssfb.setTypeAliasesPackage("com.itheima.comain");
	ssfb.setDataSource(dataSource);
	return ssfb;
}
@Bean
public MapperScannerConfigurer getMapperScannerConfigurer(){
    MapperScannerConfigurer msc = new MapperScannerConfigurer();
    msc.setBasePackage("com.itheima.dao");
    return msc;
}

相關文章