搭建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);

    }
}
相关推荐
小王不爱笑1328 小时前
MyBatis 执行流程源码级深度解析:从 Mapper 接口到 SQL 执行的全链路逻辑
数据库·sql·mybatis
弹简特9 小时前
【JavaEE18-后端部分】 MyBatis 入门第二篇:使用注解完成增删改查(含有参数传递底层原理)
spring boot·mybatis
小王不爱笑13210 小时前
SpringBoot 自动装配深度解析:从底层原理到自定义 starter 实战(含源码断点调试)
java·spring boot·mybatis
青槿吖13 小时前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
LSL666_17 小时前
BaseMapper——新增和删除
java·开发语言·mybatis·mybatisplus
摇滚侠17 小时前
IDEA 开发,Mybatis 中,@Insert 注解如何提示出列名
java·intellij-idea·mybatis
小王不爱笑13218 小时前
MyBatis-Plus 核心知识点
mybatis
码界奇点18 小时前
基于Spring MVC和MyBatis的妖气山视频管理系统设计与实现
java·spring·毕业设计·mvc·mybatis·源代码管理
indexsunny18 小时前
互联网大厂Java面试实战:从Spring Boot到微服务与Kafka的深度探讨
java·spring boot·junit·kafka·mybatis·hibernate·microservices
LSL666_19 小时前
5 MySQL驱动类选择与数据库连接 URL 时区配置
数据库·mysql·mybatis·mybatisplus