搭建MyBatis框架之测试添加功能(六)

SqlSession:代表Java程序和数据库之间的会话,(HttpSession是Java程序和浏览器之间的会话)

SqlSessionFactory:是生产SqlSession的工厂

工厂模式:如果创建某一个对象,使用的过程基本固定,那么我们就可以把创建这个对象的相关代码封装到一个"工厂类"中,以后都使用这个工厂类来"生产"我们需要的对象

MyBatisTest

dart 复制代码
package com.baidu.mybatis.test;

import com.baidu.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;

public class MyBatisTest {

    @Test
    public void testMyBatis() throws IOException {

//        加载核心配置文件
        InputStream ras = Resources.getResourceAsStream("mybatis-config.xml");

//        获取SqlSessionFactoryBuilder
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();

//        获取sqlSessionFactory
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(ras);

//        获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();

//        获取mapper接口对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

//        测试功能
        int result = mapper.insertUser();

        //        提交事务
        sqlSession.commit();

        System.out.println("result = " + result);

    }
}
相关推荐
那个失眠的夜20 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis
身如柳絮随风扬1 天前
MyBatis 插件原理详解:从拦截器到动态代理,手写一个分页插件
java·mybatis
小江的记录本1 天前
【JEECG Boot】 JEECG Boot——数据字典管理 系统性知识体系全解析
java·前端·spring boot·后端·spring·spring cloud·mybatis
wuqingshun3141591 天前
说一下mybatis里面#{}和${}的区别
java·spring·mybatis
小江的记录本1 天前
【JEECG Boot】 《JEECG Boot 数据字典使用教程》(完整版)
java·前端·数据库·spring boot·后端·spring·mybatis
小江的记录本1 天前
【JEECG Boot】 JEECG Boot 数据字典管理——六大核心功能(内含:《JEECG Boot 数据字典开发速查清单》)
java·前端·数据库·spring boot·后端·spring·mybatis
小江的记录本1 天前
【JEECG Boot】 JEECG Boot——Online表单 系统性知识体系全解
java·前端·spring boot·后端·spring·低代码·mybatis
MaCa .BaKa2 天前
44-校园二手交易系统(小程序)
java·spring boot·mysql·小程序·maven·intellij-idea·mybatis
java1234_小锋2 天前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
小旭95272 天前
SpringBoot + 七牛云 + Quartz:图片存储与定时清理
java·spring boot·后端·mybatis