MyBatis详解8.集成Spring


点击进入我的博客

MyBatis详解1.概述
MyBatis详解2.MyBatis使用入门
MyBatis详解3.MyBatis配置详解
MyBatis详解4.映射器Mapper
MyBatis详解5.动态SQL
MyBatis详解6.MyBatis技术内幕
MyBatis详解7.插件
MyBatis详解8.集成Spring

1 引入依赖包

要是用Spring继承MyBatis,必须引入相关的依赖包,这里使用Maven来管理包依赖。

    
        
            org.springframework
            spring-context
            4.3.21.RELEASE
        
        
            org.springframework
            spring-jdbc
            4.3.21.RELEASE
        
        
        
            mysql
            mysql-connector-java
            5.1.47
        
        
        
            org.mybatis
            mybatis
            3.4.1
        
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        
        
        
            com.alibaba
            druid
            1.1.12
        
    

2 配置

在此只列出了完全使用注解实现的方式,使用XML配置的方式不再推荐。

// 表明这是个配置类
@Configuration
// 扫描此包下的所有类,查找Mapper
@MapperScan(value = "com.ankeetc.spring.mapper")
// 引入datasource.properties作为属性文件,方便使用@Value获取属性
@PropertySource(value = "classpath:datasource.properties")
public class MyBatisConfig {
    @Value("${driver}")
    private String driver;
    @Value("${url}")
    private String url;
    @Value("${username}")
    private String username;

    // 使用DruidDataSource配置数据源
    @Bean
    public DruidDataSource MyDataSourceFactory() {
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(driver);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        return druidDataSource;
    }

    // 配置SqlSessionFactoryBean
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean(@Autowired DataSource dataSource) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        // 设置数据源
        sqlSessionFactoryBean.setDataSource(dataSource);
        // 设置Mapper.xml的源文件
        sqlSessionFactoryBean.setMapperLocations(
                new PathMatchingResourcePatternResolver().getResources("classpath:mappers/*"));
        return sqlSessionFactoryBean;
    }
}
// 可以直接从上下文中获取我们的Mapper的Bean,并直接使用
public class Main {
    public static void main(String[] args) throws Exception {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.ankeetc.spring");
        System.out.println(context.getBean(StudentMapper.class).select("zzx", 1L));
    }
}
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root

你可能感兴趣的:(MyBatis详解8.集成Spring)