搭建mybatis+spring配置环境

搭建mybatis+spring配置环境

第一步、添加maven依赖

	<properties>
        <spring.version>5.1.5.RELEASE</spring.version>
    </properties>
    <!--下面是必须要的依赖包-->
	<dependencies>
		
		<!--数据源连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
		
		<!--mysql jdbc连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
		<!--junit 单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
		
		<!--spring 提供的测试环境-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
		<!--spring bean管理,实现依赖注入和控制反转-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
		<!--spring mybatis集成包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.0</version>
        </dependency>
		<!--spring jdbc 集成包 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
		<!--spring-context 注解扫描等功能需要-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
		
		<!-- mybatis 包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.0</version>
        </dependency>

    </dependencies>

spring配置Bean

spring提供了两种配置方式,一种是直接使用xml文件配置bean,第二种是使用注解配置bean
两种方式各有优劣吧,需要更多了解的话可以进这个链接了解:链接: spring xml配置文件方式和注解方式的优缺点
我这次使用的是注解方式配置
代码

/**
 * @author Hearts
 * @date 2019/4/16
 * @desc
 */
@Configuration
@ComponentScan(basePackages = "javaDIYFree")
//@MapperScan(basePackages = "javaDIYFree.dao")
public class MybatisConfig {

    /**
     * 配置数据源
     * 我这里使用的是阿里的连接池,里面还有很多连接池的属性,大家可以去配置
     * @return
     */
    @Bean(name = "test")
    public DruidDataSource createTestDataSource(){

        DruidDataSource druidDataSource = new DruidDataSource();
        //配置jdbc驱动类全限定类名
        druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");

        //配置数据库url
        druidDataSource.setUrl("jdbc:mysql://localhost:3306/test");

        //配置用户名
        druidDataSource.setUsername("root");

        //配置密码
        druidDataSource.setPassword("abcdef");
        return druidDataSource;
    }

    /**
     * 配置mybatis SqlSessionFactoryBean 会话工厂,每一次连接都是一次会话,会话工厂就是用来生产会话的
     * @param druidDataSource
     * @return
     */
    @Bean
    public SqlSessionFactoryBean createSqlSessionFactoryBean(DruidDataSource druidDataSource){
        final SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        try{
            //配置数据源
            sqlSessionFactoryBean.setDataSource(druidDataSource);

            //配置mapper文件所在的位置
            sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));

            //配置自定义TypeHandler,TypeHandler的扩展后面会写
            sqlSessionFactoryBean.setTypeHandlers(new TypeHandler[]{new VarcharTypeHandler()});

        } catch (IOException e) {
       

测试环境搭建是否成功

/**
 * @author Hearts
 * @date 2019/4/19
 * @desc
 */
@RunWith(SpringJUnit4ClassRunner.class) //运行spring虚拟环境
@ContextConfiguration(classes = MybatisConfig.class) //加载自定义配置类,@ContextConfiguration(name = "classpath:applicationContext.xml") 是加载xml文件配置的

public class EnviromentTest {

    @Autowired
    private SqlSessionFactory sqlSessionFactory;

    @Autowired
    private DruidDataSource dataSource;

    @Autowired
    private MapperScannerConfigurer mapperScannerConfigurer;

    /**
     * 测试bean是否注入成功
     */
    @Test
    public void BeanTest(){
        
        Assert.notNull(sqlSessionFactory, "sqlSessionFactoryBean 配置失败");

        Assert.notNull(dataSource, "DruidDataSource 配置失败");

        Assert.notNull(mapperScannerConfigurer, "MapperScannerConfigurer 配置失败");

    }
}

单元测试虽然简单,但是能够提高编程效率,降低维护成本,何乐而不为!

项目结构图

项目结构图参考

有什么问题欢迎大家指正!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值