mybatis2-SqlSessionFactory

2024-04-19 11:48

本文主要是介绍mybatis2-SqlSessionFactory,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SqlSessionFactory

  • SqlSessionFactory是MyBatis的核心对象
  • 用于初始化MyBatis,创建SqlSession对象
  • 需要保证SqlSessionFactory在应用中全局唯一
    通常使用静态类的方式,对SqlSessionFactory进行初始化

导航

回到mybatis导航页

SqlSession

  • SqlSession是MyBatis操作数据库的核心对象
  • SqlSession使用JDBC方式与数据库交互
  • SqlSession对象提供了数据库表CRUD对应的方法
package com.torey.mybatis;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.Configuration;
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.File;
import java.io.IOException;
import java.io.Reader;/*** @ClassName:MybatisTestor* @Description:* @author: Torey*/
public class MybatisTestor {@Testpublic void testSqlSessionFactory() {try {Reader reader = Resources.getResourceAsReader("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);System.out.println(sqlSessionFactory);System.out.println("sqlSessionFactory加载成功");SqlSession sqlSession = null;try {sqlSession = sqlSessionFactory.openSession();System.out.println(sqlSession);} catch (Exception ex) {ex.printStackTrace();} finally {if (null != sqlSession) {//如果mybatis-config.xml中 dataSource type="POOLED",代表连接池,close()则是将连接回收到连接池中如果mybatis-config.xml中 dataSource type="UNPOOLED",代表直连,close()则会调用底层Connection.close()方法关闭连接sqlSession.close();}}} catch (IOException e) {e.printStackTrace();}}
}

导航,上一页,下一页

mybatis-基础配置

初始化工具类MyBatisUtil

支持我-微信扫一扫-加入微信公众号

Aseven公众号

赞赏作者

赞赏作者

这篇关于mybatis2-SqlSessionFactory的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917457

相关文章

MyBatis源码分析(02)Configuration和SqlSessionFactory

分析和学习一个框架的源码是一件非常枯燥和无聊的事(看同事的代码也是如此),所以我们遵循简单的步骤,从粗到细,从我们熟悉的内容到具体内容,一点点来学习mybatis。 其实我们对jdbc是很熟悉的,也了解jdbc的步骤,mybatis的底层是jdbc,那么mybatis在大步骤上一定和jdbc是差不多的,而在每一步上面,mybatis又是如何加入了自己的特色和元素,这是我们要分析和学习的地方。

mybatis源码 (一) —— SqlSessionFactory创建和mapper的解析

这篇主要分析SqlSessionFactory的构建过程,以及mybatis mapper文件的解析 先来看SqlSessionFactory的创建过程 String resource = "org/mybatis/example/mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resou

SqlSessionFactory创建SqlSession测试mybatis的sql

SqlSessionFactory创建SqlSession测试mybatis映射文件的sql package com.xuan.mybatis.first;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.List;import org.apache.

枚举实现SqlSessionFactory单例实现

SqlSessionFactory SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,因此 SqlSessionFactory 的最佳作用域是应用作用域。最简单的就是使用单例模式或者静态单例模式。 以下是用枚举实现单例的代码: package co

mybatis3-SqlSessionFactory保证唯一

初始化工具类MyBatisUtil 要保证SqlSessionFaction这个对象全局唯一 导航 回到mybatis导航页 MyBatisUtil.java package com.torey.mybatis.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;

MyBatis之SqlSessionFactory

MyBatis官方文档 MyBatis官方文档ORM框架 范围和生命周期 SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。因此 SqlSessi

JAVA面试灵魂108问(二十)---MyBatis2

大家好,我是陈哈哈,北漂五年。相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。   一眨眼Day20了,依稀记得Day9中说有点慌的小伙伴,不知现在还在不在?还慌不慌😅再眨几眼就?   其实,一路走来,随着问题加深,发现不会的也愈来愈多

MyBatis2----配置文件解析、属性名和字段名不一致、日志、MyBatis分页、注解开发、Lombok、一对多和多对一关系的select语句

目录 3.4 MyBatis中传递参数的Map。 4. 配置解析4.1 核心配置文件4.1.1 环境配置 environments4.1.2 属性(properties)4.1.3 类型别名(TypeAliases)4.1.4 设置(settings)4.1.5 其他配置4.1.6 映射器(mappers) 4.2 作用域(Scope)和生命周期 5 解决属性名和字段名不一致的问题5.1

Mybatis之SqlSessionFactory详解

大家好,我是升仔 引言 在Mybatis中,SqlSessionFactory 是一个极其核心的组件,它负责创建 SqlSession,后者是进行数据库操作的主要接口。本文将深入探讨 SqlSessionFactory 的原理和应用。 SqlSessionFactory 概述 SqlSessionFactory 是Mybatis的一个接口,它的实现类负责创建 SqlSession 的实例。

Mybatis-SqlSessionFactory/多数据源

下面的代码演示了发送一个HTTP请求到Controller,如果key=“dev”,则查询dev数据库,否则查询默认的数据库 @Resourceprivate SqlSessionFactory sqlSessionFactory;@Resourceprivate DataSource defaultDataSource;@Resourceprivate XXXMapper xxxMapper