mybatis 获取 sqlSession
代码
package com.wt.utils; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class MyBatisUtil { // 变量提升 private static SqlSessionFactory sqlSessionFactory; // 1、构建 SqlSessionFactory static { try { String resource = "mybatis-config.xml"; InputStream inputStream; inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } // 2、从 SqlSessionFactory 中获取 SqlSession public static SqlSession getSession(){ SqlSession getSession = sqlSessionFactory.openSession(); return getSession; } }
注意:
sqlSessionFactory.openSession()
有overload方法, openSession(boolean var1)
boolean 为 true, 就不需要
执行commit()
其它
#{} 和 ${} 的区别
#{}更安全(sql语句注入)