06.mybatis优化之Mybatis工具类提取
优化原则(见官方文档):
mybatis工具类存放位置:
mybatis工具类代码:
1 package com.day01.ssm.mybatisDemo.utils; 2 3 import org.apache.ibatis.io.Resources; 4 import org.apache.ibatis.session.SqlSession; 5 import org.apache.ibatis.session.SqlSessionFactory; 6 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 7 8 import java.io.IOException; 9 import java.io.Reader; 10 11 /** 12 * 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html 13 * 疑问咨询wx:851298348 14 */ 15 public class MybatisUtil { 16 private static SqlSessionFactory sqlSessionFactory=null; 17 /** 18 * 静态代码块: 特点 无论多少的对象只执行一次 19 */ 20 static { 21 22 try { 23 //指定mybatis主配置文件地址 24 String resource = "myBatis-config.xml"; 25 //读取配置文件内容 26 Reader reader = Resources.getResourceAsReader(resource); 27 //从配置文件(通常是XML配置文件中)得到 sqlSessionfactory 28 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); 29 System.out.println("创建sqlSessionFactory完毕!"); 30 31 } catch (IOException e) { 32 e.printStackTrace(); 33 } 34 } 35 /** 36 * 获取SqlSessionFactory 37 * @return 38 */ 39 /** 40 * 被static 修饰后的方法,多了一种访问方式 可以用 类名.方法名 41 * @return 42 */ 43 public static SqlSessionFactory getSqlSessionFactory(){ 44 return sqlSessionFactory; 45 } 46 47 public static SqlSession getSqlSession(){ 48 SqlSession session = sqlSessionFactory.openSession(); 49 return session; 50 } 51 }