SqlSessionFactory是MyBatis的核心對象,用於初始化MyBatis,讀取配置文件,創建SqlSession對象,SqlSessionFactory是全局對象,為保證其在應用中全局唯一,要使用static進行初始化
SqlSession是MyBatis操作數據庫的核心對象,SqlSession使用JDBC方式與數據庫交互,同時提供了數據表的CRUD(增刪改查)對應的api方法
//SqlSessionFactory的使用
@Test public void testSqlSessionFactory() throws IOException { //利用Reader加載classpath下的mybatis-config.xml核心配置文件
Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); //初始化SqlSessionFactory對象,同事解析mybatis-config.xml文件
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); System.out.println("SessionFactory加載成功"); SqlSession sqlSession=null; try{ //創建SqlSession對象,SqlSession是JDBC擴展類,用於數據庫交互
sqlSession = sqlSessionFactory.openSession(); //創建數據庫連接(測試用)
Connection connection = sqlSession.getConnection(); System.out.println(connection); }catch (Exception e){ e.printStackTrace(); }finally { if(sqlSession != null){ //如果dataSource的type=“POOLED”,代表使用連接池,close是將連接回收到連接池中 //如果type=“UNPOOLED”,代表直連,close則會調用Connection.close()方法關閉連接
sqlSession.close(); } } }