Spring整合mybatis框架(不完整,等待补充)

本文档展示了如何在Spring项目中配置Mybatis,并进行测试。首先,添加了mybatis和mybatis-spring的依赖。接着,配置了SqlSessionFactoryBean,指定数据源和类型别名包。然后,通过MapperScannerConfigurer配置扫描mapper接口。在测试类中,初始化SqlSession,获取Mapper接口实例,并执行查询所有部门的测试用例。

首先在主配置文件中添加它需要用到的注解

<!--添加mybatis的坐标依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <!--添加mybatis整合Spring的坐标依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.2</version>
        </dependency>

在主配置文件中创建SqlSession对象,配置该接口实现类

 <!--
         Spring整和Mybatis需要bean对象
         mybatis-spring整合包中 创建SqlSessionFactory对象 配置该接口的实现类
         SqlSessionFactoryBean,该实现类也依赖于数据源和mybatis的主配置文件
    -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--配置数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置mybatis的主配置文件-->
        <!-- <property name="configLocation" value="classpath:mybatis-config.xml"/>-->
        <!--配置别名 输入映射和输出输出映射使用的别名  简化类型的书写-->
        <property name="typeAliasesPackage" value="com.zhiyou100.pojo"/>
    </bean>

<!--配置扫描mapper接口文件和mapper.xml文件 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.zhiyou100.dao"/>
    </bean>

测试类

public class DepartmentTest {


    /**
     *
     * 测试 一对多映射
     */
    @Test
    public void testQueryAllDepartments() {
        List<Department> departments = departmentDao.queryAllDepartments();
        for (Department department : departments) {
            System.out.println(department);
        }
    }


    private IDepartmentDao departmentDao;
    private InputStream is;
    private SqlSession sqlSession;

    @Before
    public void init() throws IOException {
        // 准备mybatis核心配置文件的路径  类路径 classpath  存放在本地磁盘中classes目录里面的路径
        String path = "mybatis-config.xml";
        // 使用mybatis内置IO类 Resources
        is = Resources.getResourceAsStream(path);
        // 通过构建者类去构建SqlSessionFactory工厂对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        // 通过工厂生产SqlSession对象
        //sqlSession = factory.openSession(true);// setAutoCommit(false) ---> start transaction
        sqlSession = factory.openSession();// setAutoCommit(false) ---> start transaction
        // 使用SqlSession对象 调用getMapper方法 获取对应接口代理对象
        departmentDao = sqlSession.getMapper(IDepartmentDao.class);
    }

    @After
    public void release() throws IOException {
        sqlSession.commit(); // 提交事务  让修改的数据进行持久化,存储到磁盘中
        is.close();
        sqlSession.close();
    }



}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值