Sql会话工厂:SqlSessionFactory的使用

 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();
            }
        }
    }

 

posted @ 2022-04-07 19:14  南风知君  阅读(7156)  评论(0)    收藏  举报