Spring-Mybatis框架整合

1.首先我们先要在Maven中导入Spring和Mybatis的核心包等一些需要使用的jar包

//mybatis核心包
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
//Spring-context,其中包含Spirng的核心包
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.23</version>
        </dependency>
 //mybatis-spring的整合包
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>
 //mysql驱动包
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
 //阿里巴巴德鲁伊数据源包
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.16</version>
        </dependency>
//Spirng的JDBC支持包
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.3.23</version>
        </dependency>
//Spring的事务管理包
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.3.23</version>
        </dependency>
//lombok注解包
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
        </dependency>
//单元测试包
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

   2.我们之前的Mybatis是基于xml配置和映射的,和Spring整合之后我们通过配置类进行配置,我们在根目录创建一个子包存放配置类

在跟配置类中我们进行三个配置:

        --对于数据源的配置,通过阿里巴巴德鲁伊数据连接池连接我们的数据库。

        --对于Mybatis的SqlSession的配置,用于映射SQL语句。

        --对于Spring事务管理的配置。

@Configuration//配置该类是一个配置文件
@ComponentScan("com.jiazhong.sm.service")
@MapperScan("com.jiazhong.sm.mapper")
@PropertySource("db.properties")
public class RootConfig {
//从db.properties中获取
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
    @Bean
    public DataSource dataSource(){
        //创建基于Druid的数据源对象
        DruidDataSource druidDataSource = new DruidDataSource();
        //数据库连接配置
        druidDataSource.setDriverClassName(driver);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);
        //连接池配置
        druidDataSource.setMinIdle(3);//设置最小空闲连接
        druidDataSource.setMaxActive(100);//设置最大活动连接数
        druidDataSource.setMaxWait(1000);//设置最大等待时间
        return druidDataSource;
    }
    /*
    *
    * 配置SQLSessionFactory对象
    * */
    @Bean
    public SqlSessionFactory sessionFactory(DataSource dataSource){
        try {
            //创建SqlSessionFactoryBean
            SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
            //设置当前SQLSessionFactory的数据源对象
            sqlSessionFactoryBean.setDataSource(dataSource);
            SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBean.getObject();
            return sqlSessionFactory;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    @Bean
    public TransactionManager transactionManager(DataSource dataSource){
        //创建一个事务管理对象,管理数据数据源
        PlatformTransactionManager transactionManager = new DataSourceTransactionManager(dataSource);
        return transactionManager;
    }
}

根据该配置类我们还要创建service包用于业务实现和db.properties资源文件。

@Configuration:表示该类是一个配置文件
@ComponentScan("com.jiazhong.sm.service"):扫描包,将包中的类交于spring容器管理
@MapperScan("com.jiazhong.sm.mapper"):扫描包,将包下的所有接口指定为SQL映射,相当于xml中的<package>标签
@PropertySource("db.properties"):用于引入db.properties资源文件

3.创建service业务,我们创建一个简单地查询功能,

在mapper包中创建GoodMapper类作为SQL映射,

创建实现类注入GoodsMapper类调用其中的方法

4.创建测试类进行测试配置是否成功。

5.打印结果,测试成功。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值