Spring整合MyBatis搭建

一.什么是Spring整合mybatis

Spring 整合 MyBatis 就是把Spring和MyBatis应用到同一个项目中;其中MyBatis提供数据库相关的操作,完成对象数据和关系数据的转换;Spring完成项目的管理,通过IOC和AOP完成依赖注入,事务管理等

二.怎么搭建

2.1首先呢,先创建一个maven项目。并导入依赖

<!--Spring上下文容器 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.7.RELEASE</version>
        </dependency>
        <!--Spring整合MyBatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.7</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-typehandlers-jsr310</artifactId>
            <version>1.0.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>

<!--        事务管理依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.2.7.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.7.RELEASE</version>
        </dependency>
<!--        连接池依赖-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.9</version>
        </dependency>

2.2书写配置类,完成数据源配置、SqlSessionFactory的配置,事务管理器配置

@Configuration
@ComponentScan(basePackages = "com.project")
@EnableTransactionManagement // 允许使用Transactional注解配置事务
@MapperScan("com.project.dao") // 扫描指定位置下的映射文件
public class Config {

    // 配置数据源
    @Bean
    public DataSource getDataSource(){
        // 创建连接池数据源对象
        DruidDataSource dataSource = new DruidDataSource();
        // 设置驱动
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        // 设置数据库url
        dataSource.setUrl("jdbc:mysql://localhost:3306/mybatisdemo?characterEncoding=utf-8&allowMultiQueries=true");
        // 设置mysql登录用户名
        dataSource.setUsername("root");
        // 设置mysql登录密码
        dataSource.setPassword("root");
        // 连接池相关配置
        // 设置连接池最大连接数
        dataSource.setMaxActive(50);
        // 设置连接池最小连接数
        dataSource.setMinIdle(20);
        // 连接池超时时间
        dataSource.setMaxWait(2000);
        return dataSource;
    }

    // 添加mysql的会话工厂
    @Bean
    public FactoryBean getFactory(){
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        // 设置数据源
        factoryBean.setDataSource(this.getDataSource());
        // 加载MyBatis主配置文件
        factoryBean.setConfigLocation(new ClassPathResource("mybatis.cfg.xml"));
        return factoryBean;
    }

    // 添加事务管理器
    @Bean
    public TransactionManager getTransactionManager(){
        DataSourceTransactionManager trans =
                new DataSourceTransactionManager();
        // 设置数据源
        trans.setDataSource(this.getDataSource());
        return trans;
    }

}

2.33.导入MyBatis主配置文件,导入持久接口的映射文件

mybatis详细配置,有教怎么弄配置文件

三.测试框架

3.1导入测试框架

    <!-- junit 测试框架-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!--       spring测试框架 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.2.7.RELEASE</version>
            <scope>test</scope>
        </dependency>

3.2在工程test目录中书写测试类

@RunWith(SpringJUnit4ClassRunner.class) // 获取测试运行环境
@ContextConfiguration(classes = ApplicationConfig.class) // 获取SpringContext容器
public class TestService {

    @Autowired
    private ICarService carService;

    @Test  // 测试方法必须要加上@Test注解,才能运行
    public void testAdd(){
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring整合MyBatis是将SpringMyBatis框架结合起来使用的一种方式,可以利用Spring提供的依赖注入、事务管理等特性,简化MyBatis的配置和使用过程。 实现步骤: 1.引入依赖 在pom.xml文件中引入SpringMyBatis的依赖: ``` <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.13</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.13</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.3.13</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency> </dependencies> ``` 2.配置数据源 在Spring的配置文件中配置数据源,可以使用Spring提供的数据源或者第三方数据源,例如Druid。 ``` <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> ``` 3.配置MyBatis的SqlSessionFactory 在Spring的配置文件中配置MyBatis的SqlSessionFactory,可以使用MyBatis提供的SqlSessionFactoryBean,也可以自定义SqlSessionFactory。 ``` <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="typeAliasesPackage" value="com.example.entity" /> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean> ``` 4.配置MyBatis的MapperScannerConfigurer 在Spring的配置文件中配置MyBatis的MapperScannerConfigurer,用于扫描Mapper接口并生成代理对象。 ``` <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.example.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> ``` 5.配置事务管理器 在Spring的配置文件中配置事务管理器,可以使用Spring提供的事务管理器或者第三方事务管理器,例如Atomikos。 ``` <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> ``` 6.配置事务注解支持 在Spring的配置文件中配置事务注解支持,用于启用Spring的事务管理功能。 ``` <tx:annotation-driven transaction-manager="transactionManager" /> ``` 7.编写Mapper接口和Mapper映射文件 在MyBatis的Mapper接口中定义SQL语句,并在Mapper映射文件中编写SQL语句的具体实现。 ``` public interface UserMapper { User findById(Long id); } <select id="findById" parameterType="java.lang.Long" resultType="com.example.entity.User"> select * from user where id = #{id} </select> ``` 8.注入Mapper接口并使用 在Spring中注入Mapper接口,并调用Mapper接口的方法。 ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; public User findById(Long id) { return userMapper.findById(id); } } ``` 以上就是Spring整合MyBatis的基本步骤和流程,通过以上步骤可以快速搭建一个Spring+MyBatis的项目。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值