- 这里使用reids作为缓存。
- 使用Mybatis来操作数据库。
- 并使用Spring的@Cacheable,@CachePut,@CacheEvict注解来操作redis缓存。
1 准备环境
包结构
1 Spring配置 RootConfig.java
@Configuration
@ComponentScan(basePackages="cn.wu")
@EnableTransactionManagement
public class RootConfig {
// 配置数据源
@Bean
public DataSource initDataSource() {
DataSource dataSource = null;
Properties properties = new Properties();
properties.setProperty("driverClassName", "com.mysql.jdbc.Driver");
properties.setProperty("url", "jdbc:mysql://localhost:3306/ssm?useSSL=false");
properties.setProperty("username", "root");
properties.setProperty("password", "数据库连接密码");
try {
dataSource = BasicDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
return dataSource;
}
// 配置mybatis的SqlSession的工厂
@Bean(name="sqlSessionFactory")
public SqlSessionFactoryBean initSqlSessionFactoryBean() {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(initDataSource()); // 设置dataSource
Resource resource = new ClassPathResource("mybatis-config.xml");
sqlSessionFactoryBean.setConfigLocation(resource); // 设置mybatis配置文件
return sqlSessionFactoryBean;
}
// 配置mybatis映射器的扫描器
@Bean
public MapperScannerConfigurer initMapperScannerConfigurer() {
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("cn.wu.mapper");
mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
mapperScannerConfigurer.setAnnotationClass