理解:mybatis框架是怎么对数据库操作的,sqlsession对数据库进行增删该查,但是实际上是Executor对数据库进行操作,但是sqlsession对Executor进行了封装,所以
可以对其进行增删该查,那么sqlsession是怎么来的呢,sqlsession是由sqlsessionfactory工厂创建出来的,sqlsession又是由sqlSessionFactoryBuilder创建出来的,sqlSessionFactoryBuilder加载配置文件
public class MybatisTest {
private SqlSessionFactory sqlSessionFactory = null;
@Before
public void init() throws Exception {
//第一步:创建一个SQLSessionFactoryBuilder对象。
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//第二步:加载配置文件。
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//第三步:创建SQLSessionFactory对象
sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
}
/*根据用户id查询*/
@Test
public void getUserById() throws Exception {
//第四步:创建SQLSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//第五步:使用SqlSession对象执行查询,得到User对象。
//第一个参数:执行查询的statementId
User user = sqlSession.selectOne("findUserById", 10);
//第六步:打印结果
System.out.println(user);
//第七步:释放资源
sqlSession.close();
}