首页 > 其他分享 >mybatis中生命周期和作用域

mybatis中生命周期和作用域

时间:2023-08-14 15:36:10浏览次数:30  
标签:生命周期 作用域 SqlSession SqlSessionFactory 单例 mybatis 连接池

生命周期,和作用域,是至关重要的,因为错误的使用会导致非常严重的并发问题。
SqlSessionFactoryBuilder:
●一旦创建了SqlSessionFactory, 就不再需要它了
●局部变量
SqlSessionFactory:
●说白了就是可以想象为:数据库连接池
●SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。
●因此SqlSessionFactory的最佳作用域是应用作用域。
●最简单的就是使用单例模式或者静态单例模式。
SqlSession
●连接到连接池的一个请求!
●SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域。
●用完之后需要赶紧关闭,否则资源被占用!

标签:生命周期,作用域,SqlSession,SqlSessionFactory,单例,mybatis,连接池
From: https://www.cnblogs.com/panglinglong/p/17628772.html

相关文章

  • Go 语言变量作用域
    局部变量在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内packagemainimport"fmt"funcmain(){/*声明局部变量*/vara,b,cint/*初始化参数*/a=10b=20c=a+bfmt.Printf("结果:a=%d,b=%dandc=%d\n",a,b,c)}......
  • asp.net mvc 生命周期
    ASP.NETMVC生命周期由以下几个阶段组成:初始化(Initialization):在这个阶段,创建了MVC应用程序的实例。所有的对象、路由和模块都会在这个阶段被初始化。Routing:路由是一个可以将URL映射到具体的controller和action的机制。在这个阶段,系统会选择一个合适的控制器来处理请求......
  • Mybatis中parameterType用map传参和resultMap结果集映射
    万能的map:假如实体类(数据库中的表)字段数或参数过多,应当考虑到使用map。(因为如果写一个sql语句,前端传回来的数据就几个而且需要传入的参数类型是实体类,那么我们在contorller层就要构造一个有很多null值的对象传入这样就很麻烦,使用map就很简便了)xml配置文件中parameterType属性是传......
  • ❤ React08-React 组件的生命周期3
    ❤React08-React组件的生命周期33组件卸载时(卸载阶段)执行时间:组件从页面之中消失时componentDidMount(){}组件的挂载阶段componentWillUnmount(){}组件的卸载阶段组件的挂载阶段执行的一些方法可以在组件的卸载阶段除去组件的其他钩子函数旧版本生命周期钩子函数新版......
  • MyBatis--快速入门
    MyBatis--1.快速入门MyBatis简介原始jdbc操作的弊端创建、释放频繁导致系统资源浪费sql语句在代码中硬编码,不易维护查询操作时,需要手动将结果集中的数据封装到实体中。插入操作同理需要手动解决方案:使用数据库连接池初始化连接资源将sql语句抽取到xml配置文件中使用反......
  • MyBatis--注解开发
    MyBatis注解开发MyBatis常用注解将映射文件替换为注解:publicinterfaceUserMapper{@Insert("insertintouservalue(...)")publicvoidsave(Useruser);@Update("")publicList<User>findAll();}其他delete,select等注解类似之后将之前核心配置文件中的加载......
  • Mybatis--进阶
    MyBatis--2.进阶MyBatis的Dao层实现传统开发方式Dao中的接口类:publicinterfaceUserMapper{publicList<User>findAll()throwsIOException;}Dao中接口的实现类:publicclassUserMapperImplimplementsUserMapper{@OverridepublicList<User>findA......
  • Mybatis-plus自动填充功能
    Mybatis-plus自动填充功能使用实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.MetaObjectHandler注解填充字段@TableField(..fill=FieldFill.INSERT)生成器策略部分也可以配置!publicclassUser{//注意!这里需要标记为填充字段@TableField(........
  • Mybatis-plus自动填充starter
    Mybatis-plus自动填充starter前言:上一篇我们说了自动填充,现在利用spring-boot把它抽象为一个组件,可以在项目中共同使用工具IDEA2021.1.1MAVEN3.6.3JDK1.8spring-boot2.1.3.RELEASE配置一、引入依赖<!--mybatis-plusstart勿需再引入mybatis依赖了--><depe......
  • mybatis框架
    mybatis框架1、mybatis框架介绍MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS......