当前位置: 首页 > news >正文

晾衣架 东莞网站建设企业seo推广

晾衣架 东莞网站建设,企业seo推广,统计二级域名的网站流量有什么用,网站开发研究总结目录🌟更多专栏请点击👇一、前言二、实现过程1. 创建一个ThreadLocal对象2. 初始化SqlSessionFactory3. 获取并存储sqlSession对象4. 关闭sqlSession对象三、 总代码🌟更多专栏请点击👇 专栏名字🔥Elasticsearch专栏e…

目录

  • 🌟更多专栏请点击👇
  • 一、前言
  • 二、实现过程
    • 1. 创建一个ThreadLocal对象
    • 2. 初始化SqlSessionFactory
    • 3. 获取并存储sqlSession对象
    • 4. 关闭sqlSession对象
  • 三、 总代码

🌟更多专栏请点击👇

专栏名字
🔥Elasticsearch专栏es
🔥spring专栏spring开发
redis专栏redis学习笔记
🔥项目专栏项目集锦
修bug专栏bug修理厂

一、前言

使用MyBatis框架在持久层操作中,如果多个DML操作都属于一个事务,因为commit()和rollback()都是SqlSession完成的,所以必须保证只使用一个SqlSession,但是不同的DML操作可能在不同类的不同方法中,每个方法都需要获取SqlSession,所以应该如何在多个DML操作中保证使用同一个SqlSession呢?
在这里插入图片描述

二、实现过程

1. 创建一个ThreadLocal对象

下面给大家带来了一个工具类:ThreadLocal,它可以储存SqlSession对象,并且保证一个线程只使用一个SqlSession。现在来学习一下如何创建MyBatis这个工具类

首先需要new一个ThreadLocal对象,以便存储SqlSession:

 private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<>();

2. 初始化SqlSessionFactory

在一个静态代码块中初始化SqlSessionFactory:

 static {//创建SqlSessionFactoryInputStream is = null;try {is = Resources.getResourceAsStream("mybatis-cfg.xml");} catch (IOException e) {e.printStackTrace();}sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);}

3. 获取并存储sqlSession对象

接下来就是从ThreadLocal中获取sqlSession对象,并且使用ThreadLocal存储该对象:

tips:存储SqlSession的时候要判断该对象是否为空,要是为空就要获取一个,然后再存到ThreadLocal,返回一个SqlSession。

//获取SqlSessionpublic static SqlSession getSqlSession(){SqlSession sqlSession = threadLocal.get(); if(sqlSession == null){sqlSession = sqlSessionFactory.openSession();     threadLocal.set(sqlSession);                        }return sqlSession;}

4. 关闭sqlSession对象

接下来也可以在该工具类写关闭sqlSession方法

  //关闭sqlSessionpublic static void closeSqlSession(){SqlSession sqlSession = threadLocal.get();if (sqlSession != null){           sqlSession.close();threadLocal.set(null);}}

三、 总代码

public class MyBatisUtils {private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<>();private static SqlSessionFactory    sqlSessionFactory = null;static {//创建SqlSessionFactoryInputStream is = null;try {is = Resources.getResourceAsStream("mybatis-cfg.xml");} catch (IOException e) {e.printStackTrace();}sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);}//获取SqlSessionpublic static SqlSession getSqlSession(){SqlSession sqlSession = threadLocal.get();        if(sqlSession == null){sqlSession = sqlSessionFactory.openSession();       threadLocal.set(sqlSession);                       }return sqlSession;}//关闭sqlSessionpublic static void closeSqlSession(){SqlSession sqlSession = threadLocal.get();if (sqlSession != null){            sqlSession.close();threadLocal.set(null);}}
}
http://www.15wanjia.com/news/18106.html

相关文章:

  • 网站什么时候做负载均衡推广自己的网站
  • 女式包包网站建设策划书企业关键词优化专业公司
  • 江苏兴力建设集团有限公司网站现在阳性最新情况
  • 平面设计软件排行南宁seo全网营销
  • 建设银行网站无法转账长沙专业网络推广公司
  • 铁岭做网站哪家好营销策略包括哪些方面
  • 电子商务网站建设应用技术手机优化游戏性能的软件
  • 做外贸网站要有域名seo赚钱培训课程
  • wordpress添加优酷视频播放seo怎么快速提高排名
  • 自动生成图片的网站今日新闻7月1日
  • 网站数据展示运营推广计划
  • 网站建设日程表模板网络营销的工具有哪些
  • 做一网站困难吗天机seo
  • 资金盘网站建设常用的网络营销方法
  • 2017学脚本语言做网站厦门人才网app
  • 广州做网站mxszpt大数据查询官网
  • 一般网站后台都是哪里做windows优化大师下载
  • seo整站优化的思路及步骤互联网推广好做吗
  • 企业网站建设维护方案google安卓手机下载
  • mac上安装免费wordpress昆山优化外包
  • 河南省政府官网广丰网站seo
  • 做网站需要投资多少钱营销软文范例大全
  • wordpress本站只对会员开放南宁百度seo软件
  • 一般网站海报做一张多久网络推广和网站推广平台
  • 安徽圣力建设集团网站网站流量统计分析工具
  • 京东网站制作优点360优化大师官方下载最新版
  • 在线手机网站预览郑州seo线上推广技术
  • 网站建设中代码深圳广告投放公司
  • 网站索引怎么做广州最新疫情通报
  • 驻马店公司做网站深圳百度推广关键词推广