mybatis会话集中管理:
第一:项目目录结构:

第二:工具类的编写:

package com.sun.mybatis.utils;import java.io.Reader;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;/*** session会话操作工具类* SqlSessionFactoryUtil.java* @author sunt** 2017年3月13日下午5:21:07*/
public class SqlSessionFactoryUtil {/*** 配置文件的路径*/private static String CFG_FILE_PATH = "mybatis.cfg.xml";//使用ThreadLocal管理Mybatis中SqlSession对象private static final ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();//读取配置文件的IO流对象private static Reader reader = null;//会话工厂private static SqlSessionFactory sqlSessionFactory;static{try {//加载配置文件reader = Resources.getResourceAsReader(CFG_FILE_PATH);//构建会话工厂sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (Exception e) {e.printStackTrace();}}/*** 构造器注入*/public SqlSessionFactoryUtil() {}/*** 获取连接* 2017年3月13日下午5:40:35* @return SqlSession*/public static SqlSession getSqlSession() {SqlSession sqlSession = threadLocal.get();if(null == sqlSession) {//没有获取到连接信息if(null == sqlSessionFactory) {//没有打开的连接System.out.println("执行构建新的连接操作。。。");rebuildSqlSessionFactory();}sqlSession = (null != sqlSessionFactory)?sqlSessionFactory.openSession(): null;//保存会话信息threadLocal.set(sqlSession);}return sqlSession;}/*** 构建新的连接信息* 2017年3月13日下午5:46:24* @return void*/public static void rebuildSqlSessionFactory() {try {reader = Resources.getResourceAsReader(CFG_FILE_PATH);sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (Exception e) {e.printStackTrace();}}/*** 关闭连接信息* 2017年3月13日下午5:51:48* @return void*/public static void closeSqlSession() {SqlSession sqlSession = threadLocal.get();//取消保存会话信息threadLocal.set(null);if(null != sqlSession) {System.out.println("执行关闭会话操作。。。");sqlSession.close();}}/*** 获取工厂会话对象* 2017年3月13日下午5:54:43* @return SqlSessionFactory*/public static SqlSessionFactory getSqlSessionFactory() {return sqlSessionFactory;}/*** 获取读取的配置文件的信息* 2017年3月13日下午5:55:47* @return Reader*/public static Reader getCfgInfo() {return reader;}}

第三:pom文件和具体的实体类参考:
pom文件和具体的实体
第四:测试类:

package com.sun.mybatis.pojo;import java.util.Date;import org.junit.Test;import com.sun.mybatis.utils.SqlSessionFactoryUtil;/*** 测试会话工具类* MemberTest.java* @author sunt** 2017年3月13日下午4:39:20*/
public class MemberTest2 {/*** 测试会话管理util* 2017年3月13日下午5:58:31* @return void*/@Testpublic void testSessionManager() {Member member = new Member();member.setMid(Long.toString(System.currentTimeMillis()));member.setAge(22);member.setBirthday(new Date());member.setName("小丽");member.setNote("测试会还管理util");member.setSalary(8888.00);member.setSex("女");//获取会话信息保存数据SqlSessionFactoryUtil.getSqlSession().insert("com.sun.sqlMap.MemberMapper.insert", member);//关闭连接信息SqlSessionFactoryUtil.getSqlSession().commit();SqlSessionFactoryUtil.getSqlSession().close();}}

第五:运行结果:

mybatis sqlSession管理工具类相关推荐

  1. java rabbitmq 工具类_RabbitMq通用管理工具类

    import java.io.IOException; import java.util.concurrent.TimeoutException; import com.rabbitmq.client ...

  2. Java微信公众号开发之微信素材管理工具类

    1.前言 微信公众号在使用接口的时候是通过传入media_id来进行调用的,所以在使用的接口的时候我们往往需要先上传素材,然后拿到微信返回给我们的media_id去调用相关接口,素材管理分为临时素材和 ...

  3. 一个好用的日志管理工具类MyLogger

    日志的规范管理,在项目中不容忽视,应用上线后将调试日志关闭也是十分必要的,下面就是一个好用的日志管理工具类(点击下载): import java.util.Hashtable;import andro ...

  4. Mybatis的工厂工具类Util

    工厂工具类 获取session package com.xbky.util;import org.apache.ibatis.io.Resources; import org.apache.ibati ...

  5. 【Android工具类】Activity管理工具类AppManager

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 import java.util.Stack;import android.app.Activity; im ...

  6. Fragment管理工具类

    Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragm ...

  7. android 软键盘工具类,Android软键盘管理工具类

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一个软键盘管理类,单例模式实现的. /** * 类功能描述:软键盘管理界面 * */ public class Inpu ...

  8. Android 线程池管理工具类

    转自Android 线程池 public class AppExecutors {private static final String TAG = "AppExecutors"; ...

  9. WifiAdmin wifi管理工具类

    public class WifiAdmin {private static final String TAG = WifiAdmin.class.getSimpleName();// 定义WifiM ...

最新文章

  1. PNAS:多年多点5千样本鉴定玉米根际可遗传微生物
  2. Evaluation and Validation of AssemblingCorrected PacBio Long Reads for MicrobialGenome Completion
  3. 关于算法中的并查集,写的很有意思,转过来看看~
  4. 数据结构算法(二)_算法基础之前传(递归、时间复杂度、空间复杂度、二分查找)...
  5. android自定义布局实现优惠券效果
  6. HttpClient Get/Post方式调用Http接口
  7. dockerfile写法和docker-compose和docker-compose.yml
  8. 单片机c语言实训例子基于mega16,基于AVR单片机的mega16内部EEPROM操作C语言程序设计...
  9. 风控算法知识——WOE值的深度理解与应用
  10. linq to sql 语法 学习笔记(1)
  11. Vultr与阿里云结合自动换IP的解决方案
  12. 理解网络交换机的原理
  13. 《不花钱学法语》--18个网站,强化法语六力
  14. oracle数据库闪回详解
  15. php图片不显示怎么处理,如何解决php图片因存在错误而无法显示
  16. 百面机器学习:支持向量机
  17. LeetCode-136. 只出现一次的数字(java)
  18. An Casual Overview of Reinforcement Learning
  19. JS----DOM节点操作:创建 ,插入,删除,复制,查找节点
  20. 《Java虚拟机规范》读书笔记,平安银行java开发面试

热门文章

  1. XPlane android 2D手游开发实战
  2. 犀牛Phinoceros 如何切换中文语言
  3. 计算机软件系统框架中,c/s与b/s的英文是,C/S与B/S两种软件体系结构
  4. 尚医通 (十九)用户认证
  5. 第11课:五大职能定位
  6. 戴尔R730 安装EXSI6.5 提示:initial menu has no label entries!
  7. 用scratch编程画心形线
  8. 产品网站建设-企业产品网站建设基本流程及工作内容
  9. PHP针对EXCEL的方法处理
  10. SharePoint Oauth和服务器到服务器(S2S)身份验证概述