Mybatis_面向接口编程

package com.atguigu.mybatis.test;

import com.atguigu.mybatis.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;

/**
 * @author beyondx
 * @description
 * @date Created in 2022/08/03/ 7:51
 */
public class MyBatisTest {

    @Test
    public void testInsert() throws IOException {
        // 获取核心配置文件的输入流
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
        // 获取 SqlSessionFactoryBuilder 对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        // 获取 SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
        // 获取 sql的 会话对象 SqlSession, 是 MyBatis 提供的 操作数据库的对象
//        SqlSession sqlSession = sqlSessionFactory.openSession();
        SqlSession sqlSession = sqlSessionFactory.openSession(true);

        // 获取 UserMapper 的 代理 实现类对象; 返回 类型T 的 实例化对象
        // 通过 代理模式, 帮我们 生成 对应的 实现类, 帮我们 重写了方法
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        // 调用 mapper 接口中的 方法, 实现 添加 用户信息 的功能
        mapper.insertUser();
//        System.out.println("结果: " + result);
//        sqlSession.commit();
        sqlSession.close();

    }
}

posted on 2022-08-03 11:16  beyondx  阅读(15)  评论(0编辑  收藏  举报

导航