1. 创建mybatisConfigure配置
@Configuration
@MapperScan("edu.nf.ch04.dao")
@EnableTransactionManagement
public class MybatisConfigure {
@Bean(initMethod = "init", destroyMethod = "close")
public DruidDataSource dataSource() throws Exception {
Properties prop = new Properties();
InputStream is = MybatisConfigure.class.getClassLoader().getResourceAsStream("druid.properties");
prop.load(is);
return (DruidDataSource)DruidDataSourceFactory.createDataSource(prop);
}
@Bean
public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) throws IOException {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
factoryBean.setTypeAliasesPackage("edu.nf.ch04.entity");
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
factoryBean.setMapperLocations(resolver.getResources("classpath:mappers/*.xml"));
Properties prop = new Properties();
prop.setProperty("helperDialect", "mysql");
prop.setProperty("supportMethodsArguments", "true");
prop.setProperty("reasonable", "true");
PageInterceptor interceptor = new PageInterceptor();
interceptor.setProperties(prop);
factoryBean.setPlugins(interceptor);
org.apache.ibatis.session.Configuration conf = new org.apache.ibatis.session.Configuration();
conf.setLogImpl(StdOutImpl.class);
factoryBean.setConfiguration(conf);
return factoryBean;
}
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
2. 编写主配置配置类,将mybatis配置类导入到主配置类中
@Configuration
@ComponentScan(basePackages = "edu.nf.ch04")
@Import(MybatisConfigure.class)
public class AppConfigure {
}
3. 在resources中创建druid.properties文件,配置druid连接池信息
# 配置基本连接信息
driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/city?useSSL=false&useUnicode=true&characterEncoding=utf-8
username = root
password = root
# 配置连接池的属性
maxActive = 200
initialSize = 5
minIdle = 5
maxWait = 2000
testWhileIdle = true
testOnBorrow = false
testOnReturn = false
timeBetweenEvictionRunsMillis = 60000
minEvictableIdleTimeMillis = 300000
poolPreparedStatements = false
validationQuery = select 1
4. 最后整合完毕,使用就好了