`

MyBatis主要的类的使用范围

阅读更多

MyBatis中常用的类就要数SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、SqlMapper了。那么下面对他们的应用范围和生命周期进行一下说明: 

1、 Reader  reader    = Resources.getResourceAsReader("Configuration.xml"); 读取配置文件

SqlSessionFactoryBuilder:利用该类的build()方法进行的主要作用是创建SqlSessionFactory实例,故任务完成后就可以消失了。因此该类实例的最佳应用范围和生命周期应为“方法范围”。 

2、SqlSessionFactory:在应用的整个周期中会有众多地方需要利用其实例打开某个SqlSession,因此最佳范围是“应用生命周期范围”。故此,可以使用单例与工厂模式,在官方文档中最佳建议是IoC容器,如Spring来生成该实例。 

3、SqlSession:该类是非线程安全的,其实例是不能共享的,所以应该每个线程具有自己的SqlSession实例,通过 openSession()来打开线程。因此最佳建议是“请求或方法范围”。例如:收到一个Http请求后,创建一个实例,进行某些操作,之后关闭。在 finally 关闭Session。 

4、SqlMapper:是创建绑定映射语句的接口。其实例从SqlSession获得,所以其最宽生命周期与SqlSession相同,因此其实例的执行范围也是“方法范围”,而且其不需要明确的关闭。

分享到:
评论

相关推荐

    mybatis使用介绍

    MyBatis 是一款在中国乃至全球范围内广泛使用的开源持久层框架,它主要负责简化Java应用程序与数据库之间的交互。MyBatis 消除了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作,允许开发者将精力集中在SQL...

    mybatis离线说明文档

    配置主要包括两个部分:MyBatis的主配置文件(mybatis-config.xml)和映射文件(Mapper XML)。配置文件中需要设置数据源、事务管理器等核心元素。 2. **SQL映射文件**:这是MyBatis的核心,其中定义了SQL语句、...

    mybatis离线插件包

    7. **动态SQL**:继承了MyBatis的动态SQL功能,可以在实体类中直接使用if、between、in等标签。 在安装了Mybatis Plus插件后,开发者可以更便捷地在Intelij IDEA中进行MyBatis相关的开发工作,享受更加高效和流畅的...

    JavaEE Mybatis使用

    Mybatis的核心概念主要包括:SqlSessionFactory、SqlSession、Mapper接口和XML配置文件。SqlSessionFactory是Mybatis的核心工厂类,用于创建SqlSession对象,SqlSession则负责执行SQL操作。Mapper接口和对应的XML...

    MyBatis框架的学习(六)——MyBatis整合Spring

    整合MyBatis与Spring主要有以下几个步骤: 1. **引入依赖**:在项目中,你需要添加MyBatis和Spring的相关依赖库。如果使用Maven,可以在pom.xml文件中添加对应的依赖项,例如MyBatis-Spring的依赖。 2. **配置数据...

    mybatis3--逆向工程

    在这个过程中,开发者只需要配置好相关参数,MyBatis 就会根据数据库中的表信息自动生成对应的 Java 类和 XML 文件,使得开发者可以快速地进行业务逻辑的实现,而不是花费大量时间在基础代码的编写上。 逆向工程...

    mybatis的jar包

    标题中的"mybatis的jar包"指的是MyBatis框架的核心库文件,通常以.jar格式存在,包含了MyBatis运行所需的所有类和资源。开发者可以通过引入这个jar包,轻松地在项目中使用MyBatis的功能。 描述中提到的GitHub地址是...

    mybatis文档

    每一个线程都应该有一个自己的 SqlSession 实例,并且该实例不应该在整个请求或事务范围之外使用。 ##### 2. 映射器(Mapper) 映射器是 MyBatis 中最强大的特性之一,它可以将接口的方法和 SQL 语句关联起来。这样...

    mybatis-spring 整合包

    - `mybatis-spring-1.0.0.jar`:这是MyBatis-Spring的核心库,包含了所有集成MyBatis和Spring所需的类和接口。 - 相关的依赖库(如果有的话):可能包括MyBatis和Spring的jar文件,以及其他必要的第三方库,用于保证...

    mybatis+redis缓存配置

    在MyBatis中配置Redis作为二级缓存,主要涉及以下几个步骤: 1. **引入依赖**:首先确保项目中已经添加了MyBatis、SpringMVC以及Redis的相关依赖。 2. **配置MyBatis缓存**: - 在Mapper的XML文件中为每个Mapper...

    MyBatis3 中文版用户指南手册

    通常推荐使用类路径下的资源文件进行配置,但也可以使用任何 `Reader` 实例,该实例可以通过文本形式的文件路径或 URL 形式的文件路径创建。MyBatis 提供了一个名为 `Resources` 的工具类,其中包含一些简化资源文件...

    Mybatis PPT 不看后悔,企业培训班PPT

    Mybatis 是一款在中国乃至全球范围内广泛应用的开源持久层框架,它是对iBatis的进一步发展和完善,主要用于简化Java开发中的数据库操作。这个“Mybatis PPT 不看后悔,企业培训班PPT”显然是一份深入浅出的教学资料...

    mybatis课件

    **2.3.1 SqlSession 使用范围** SqlSession 是执行 SQL 的核心对象,由于其线程不安全,通常在方法体内创建并关闭,以防止并发问题。 **2.3.2 SqlSessionFactoryBuilder** 负责根据配置文件创建 SqlSessionFactory...

    mybatis-spring-1.2.1.zip

    下面我们将深入探讨MyBatis-Spring的集成原理、主要功能以及如何在实际项目中使用。 首先,MyBatis-Spring的作用在于桥接MyBatis和Spring,允许开发者充分利用两者的优点。MyBatis提供了灵活的SQL映射框架,而...

    详细的mybatis-3.2.7文档

    MyBatis 的缓存机制也是其功能强大的一部分,它允许在一定范围内重复使用已经执行过的 SQL 结果,提高性能。MyBatis 提供了两种级别的缓存:一级缓存(本地缓存)和二级缓存。一级缓存是 SqlSession 级别的,而二级...

    MyBatis培训课件

    最佳范围是请求或方法范围,不应该在类的静态字段或实例字段中保存 SqlSession 的引用,也不应该放在任何类型的管理范围中,如 HttpSession 中。每次使用完 SqlSession 后,都应该显式关闭。 4. **Mapper**:映射器...

    mybatis整合springMvc完整jar包

    MyBatis可以使用简单的XML或注解来配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 2. SpringMVC简介: SpringMVC是Spring框架的一部分,它是一个基于模型-...

    Mybatis学习手册

    - **文件结构**:XML配置文件包含了MyBatis系统的核心设置,主要包括获取数据库连接实例的数据源和决定事务范围与控制的事务管理器。 - **关键配置示例**: - **基本结构**: ```xml <!DOCTYPE configuration ...

    java分页工具类,以及基于Struts,Spring,mybatis,jsp中分页的调用及实现

    该类的主要属性包括: - `currentPage`: 当前页码,默认为第一页。 - `pageCount`: 每页显示的记录数量。 - `totalCount`: 总记录数。 - `totalPage`: 总页数,根据`totalCount`和`pageCount`计算得出。 - `datas`:...

    MyBatis使用与实现.pdf

    ### MyBatis 使用与实现详解 #### 一、MyBatis 概述 **MyBatis** 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis ...

Global site tag (gtag.js) - Google Analytics