三,MyBatis基本使用

一,SqlSessionFactory简介

  1. SqlSessionFactory是mybatis的核心对象
  2. 用于初始化mybatis,创建SqlSession对象
  3. 保证SqlSessionFactory在应用中全局唯一,通常我们通过静态类方式对它进行初始化,SqlSessionFactory本质就是通过加载配置文件,来完成mybatis框架的初始化工作

二,SqlSession简介

  1. SqlSession是mybatis操作数据库的核心对象
  2. SqlSession使用jdbc方式与数据库交互,不那么严谨的我们可以把一个SqlSession是一个扩展过的connection数据库连接对象,在原有的connection基础上封装了大量实用方法
  3. SqlSession对象提供了数据表CRUD对应方法

本节演示SqlSessionFactory,SqlSession的创建过程,顺带也验证下之前的配置是否有效

/**
 * 初始化SqlSessionFactory并得到SqlSession对象
 */
public class SqlSessionFactoryTest {
     
    @Test
    public void test() throws IOException {
     
        // 利用Reader读取mybatis核心配置文件
        Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
        // 初始化SqlSessionFactory对象并进行配置文件解析
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        System.out.println("SqlSessionFactory加载成功");
        // 创建SqlSession对象,SqlSession是jdbc扩展类,用于和数据库进行交互
        SqlSession sqlSession = null;
        try {
     
            sqlSession = sqlSessionFactory.openSession();
            // 创建数据库连接的过程(这里只是测试使用,非必要,正常开发时是由mybatis帮我们自动完成的)
//            Connection connection = sqlSession.getConnection();
        } catch (Exception e) {
     
            e.printStackTrace();
        } finally {
     
            if (sqlSession != null) {
     
                // 如果是“POOLED",代表使用连接池,close则是将连接回收到连接池中
                // 如果是“UNPOOLED",代表直连,close则会调用connection.close()方法
                sqlSession.close();
            }
        }
    }
}

如果配置信息有误,系统会报错

你可能感兴趣的:(MyBatis)