MyBatis的SqlSessionFactory创建配置文件
SqlSessionFactory创建配置文件
1、SqlSessionFactory简介 SqlSessionFactory是MyBatis中的一个重要的对象,它是用来创建SqlSession对象的,而SqlSession用来操作数据库的。
2、SqlSessionFactory生成 SqlSessionFactory对象可以通过SqlSessionFactoryBuilder来获得,而SqlSessionFactoryBuildr则可以从XML配置文件或预先定制的Configuration实例构建出SqlSessionFactory的实例。
SqlSessionFactory是线程安全的,它一旦被创建,应该在应用执行期间都存在。在应用运行期间不要重复创建多次,建议使用单例模式。
3、SqlSessionFactory的常用方法 SqlSessionFactory主要用于创建SqlSession,一般是从Connection或者DataSource中创建。
public interface SqlSessionFactory {
SqlSession openSession();
SqlSession openSession(boolean autoCommit); SqlSession openSession(Connection connection); SqlSession openSession(TransactionIsolationLevel level);
SqlSession openSession(ExecutorType execType); SqlSession openSession(ExecutorType execType, boolean autoCommit); SqlSession openSession(ExecutorType execType, TransactionIsolationLevel level); SqlSession openSession(ExecutorType execType, Connection connection);
Configuration getConfiguration();
}
配置文件
// 1 读取配置文件 String resource = “mybatis-config.xml”; InputStream inputStream=Resources.getResourceAsStream(resource); // 2 通过配置文件,创建session工厂 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try { SqlSession session=sqlSessionFactory.openSession(); //例如:添加方法 session.insert(“映射xml名.add”, 参数); session.commit(); } catch (Exception e) { e.printStackTrace(); } finally { if (session != null) { session.close(); } }