对 Service中sqlsession对象的优化
在本线程中添加object数据,必须在本线程中才能获取出来。。其他线程获取不到。
public class Test {
    public static void main(String[] args) {
        final ThreadLocal<String> thread=new ThreadLocal<>();
        thread.set("助兴");
        new Thread(){
            @Override
            public void run() {
                String temp=thread.get();
                System.out.println("结果是:"+temp);
            };
        }.start();
        这样是获取不到结果的!!!!!
    }
}
Filter过滤器和Servlet在一个线程中,并且在servlet前面执行,这就可以在Filter过滤器中添加数据,让Servlet使用。。
service中的sqlsessionFactory 实例化的过程是一个比较耗费性能的过程
 public class mybtaisutil {      通过这种方式可以保证只有一个factory
     private static SqlSessionFactory factory;
     static{
         try {
             InputStream is = Resources.getResourceAsStream("mybatis.xml");
             factory = new SqlSessionFactoryBuilder().build(is);
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }
      /**
         * 获取sqlsession对象
         */
    public static SqlSession getsession(){
            SqlSession session = tl.get();
            if(session==null){
                tl.set(factory.openSession());
            }
             return tl.get();
        }
        关闭sqlsession对象
    public static void closesession(){
        SqlSession session = tl.get();
        if(session!=null){
            session.close();
        }
        tl.set(null);
    }
 }
对 Service中sqlsession对象的优化的更多相关文章
- 使用ThreadLocal管理Mybatis中SqlSession对象
		
转自http://blog.csdn.net/qq_29227939/article/details/52029065 public class MybatisUtil { private stati ...
 - [转] C++中临时对象及返回值优化
		
http://www.cnblogs.com/xkfz007/articles/2506022.html 什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行 ...
 - 转:C++中临时对象及返回值优化
		
http://www.cnblogs.com/xkfz007/articles/2506022.html 什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行 ...
 - 【性能优化】面试官:Java中的对象都是在堆上分配的吗?
		
写在前面 从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:"Jav ...
 - Web Service 中返回DataSet结果大小改进
		
http://www.cnblogs.com/scottckt/archive/2012/11/10/2764496.html Web Service 中返回DataSet结果方法: 1)直接返回Da ...
 - Web Service 中返回DataSet结果的几种方法
		
Web Service 中返回DataSet结果的几种方法: 1)直接返回DataSet对象 特点:通常组件化的处理机制,不加任何修饰及处理: 优点:代码精减.易于处理,小数据量处理较快: ...
 - Windows Service中使用Threading.Timer需注意回收
		
在Windows Service中使用Threading.Timer时需要注意回收池问题 Threading.Timer是基于线程池的,系统会对其进行垃圾回收. 当Threading.Timer定义在 ...
 - oracle中sql语句的优化
		
oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info (30000条数据)D ...
 - (转)C++中返回对象的情形及RVO
		
http://www.cnblogs.com/xkfz007/archive/2012/07/21/2602110.html 之前有文章介绍过临时对象和返回值优化RVO方面的问题.见此处. 在C++中 ...
 
随机推荐
- centos 7 下 Ceph 配置安装
			
一.环境介绍 系统: CentOS Linux release 7.3.1611 (Core) 硬盘: 系统盘:300GB*2-raid 1 OSD:600GB*4-raid 5 ceph ...
 - Mysql 密码相关
			
MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格 一.密码复杂度 1.密码复杂度配置文件:/etc/my.cnf (CentOS 7下) ...
 - UNITY3D 2D物流流体插件下载|Liquid Physics 2D
			
制作类似<鳄鱼小顽皮爱洗澡>游戏的必备插件 下载地址: https://item.taobao.com/item.htm?spm=0.7095261.0.0.47411debZFbEUn& ...
 - glove
			
glove - 必应词典 美[ɡlʌv]英[ɡlʌv] v.给戴手套:作…的手套 n.(分手指的)手套 网络分指手套:拳套:棒球之爱 变形复数:gloves:现在分词:gloving:过去分词:glo ...
 - 博客(二)注册页面django
			
首先上一个html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
 - MVC 学习(一)Linq to Entities 简单Demo
			
Linq定义了一组标准查询符号,标准查询符允许查询作用于所有基于IEnumerable<T>接口源. 我们看看LINQ的总体架构.如下图所示 EF4.1 数据操作及持久化,常见的是Data ...
 - c#引用命名空间的作用
			
System 包含用于定义常用值和引用数据类型.事件和事件处理程序.接口.属性和处理异常的基础类和基类.其他类提供支持下列操作的服务:数据类型转换,方法参数操作,数学计算,远程和本地程序调用,应用程序 ...
 - Bootstrap(2) 排版样式
			
1.页面主体,Bootstrap 将全局 font-size 设置为 14px,line-height 行高设置为 1.428(即20px):<p>段落元素被设置等于 1/2 行高(即 1 ...
 - Python开发之数据类型
			
Python数据类型 本节内容 数字 字符串 列表 元祖 字典 列表 集合 一 数字 数字在Python中分为整形,长整型,浮点数,负数等.在Python3中已经不再区分整形和长整形 1 整形 整形是 ...
 - C#生成二维码(可保存二维码图片)
			
https://www.cnblogs.com/wlays/p/7994393.html 1.NuGet中搜索QRCoder,安装这个插件. 2.创建一个一般处理程序,代码: public void ...