【Spring整合MyBatis、Junit】

一、Spring整合Mybatis

步骤 1: 项目中导入整合需要的 jar 包

【pom.xml】

<!--Spring操作数据库需要该jar包-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.20</version>
</dependency>
 
<!--
Spring与Mybatis整合的jar包
这个jar包mybatis在前面,是Mybatis提供的
-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>

步骤2:主配置类中读 properties 并引入数据源配置类

【SpringConfig主配置类】

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

【JdbcConfig配置类】

public class JdbcConfig {
    @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(){
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);
        return ds;
    }
}

步骤3:创建Mybatis配置类并配置SqlSessionFactory(关键)

【MybatisConfig配置类】

public class MybatisConfig {
        //定义 bean , SqlSessionFactoryBean ,用于产生 SqlSessionFactory 对象
        @Bean
        public SqlSessionFactoryBean sqlSessionFactory ( DataSource dataSource ){
                SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean ();
                //设置模型类的别名扫描
                ssfb . setTypeAliasesPackage ( "com.itheima.domain" );
                //设置数据源
                ssfb . setDataSource ( dataSource );
                return ssfb ;
        }
        //定义 bean ,返回 MapperScannerConfigurer 对象
        @Bean
        public MapperScannerConfigurer mapperScannerConfigurer (){
                MapperScannerConfigurer msc = new MapperScannerConfigurer ();
                msc . setBasePackage ( "com.itheima.dao" );
                return msc ;
        }
}
                    

该配置类中有两个方法,共返回两个Bean对象,基本写法已约定俗成,我们使用MyBatisConfig配置类时,只需要修改代码中黄色背景内容即可。

setTypeAliasesPackage:为指定的包设置别名
setBasePackage:设置所扫描的包路径
然后,我们将此类引入主配置类即可

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

这样,Spring整合MyBatis就算成功了!!!

二、Spring整合Junit

整合Junit与整合MyBatis差异比较大,为什么呢?Junit是一个搞单元测试用的工具,它不是我们程序的主体,也不会参加最终程序的运行,从作用上来说就和之前的东西不一样,它不是做功能的,看做是一个辅助工具就可以了

步骤1:引入依赖

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.1</version>
    <scope>test</scope>
</dependency>
 
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.3.6</version>
</dependency>

步骤2:编写配置类

    在配置类上添加两行注解即可。
// 设置类运行器
@RunWith(SpringJUnit4ClassRunner.class)
// 设置 Spring 环境对应的配置类
@ContextConfiguration(classes = {SpringConfiguration.class }) // 加载配置类
  单元测试,如果测试的是注解配置类,则使用@ContextConfiguration(classes = 配置

类 .class)
单元测试,如果测试的是配置文件,则使用@ContextConfiguration(locations={配置文件
名 ,…})
这两行注解格式固定,不需要修改任何参数!
测试类如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTest {
    @Autowired
    private AccountService accountService;
    @Test
    public void testFindById(){
        System.out.println(accountService.findById(4));
    }
 
    @Test
    public void testFindAll(){
        System.out.println(accountService.findAll());
    }
 
}

原文链接:https://blog.csdn.net/qq_45832961/article/details/129064332

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值