04.MyBatis的API概述
1.SqlSession工厂构建器SqlSessionBuild
-
常用API:SqlSessionFactory build(InputStream inputStream)
-
通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象
String resource = "org/mybatis/builder/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(inputStream);
-
其中,Resource工具类,这个类在
-
org.apache.ibatis.io 包中。Resources 类帮助你从类路径下、文件系统或一个 web URL 中加载资源文件。
2.SqlSession工厂对象SqlSessionFactory
-
SqlSessionFactory有多个方法创建SqlSession实例。常用的有两个:
解释:
- 当设置openSession(true)时,不需要手动提交事务。
SqlSession sqlSession = sqlSessionFactory.openSession(true);
3.SqlSession会话对象
- SqlSession 实例在 MyBatis 中是非常强大的一个类。在这里你会看到所有执行语句、提交或回滚事务和获取映射器实例的方法。
执行语句的方法主要有:
<T> T selectOne(String statement, Object parameter)
<E> List<E> selectList(String statement, Object parameter)
int insert(String statement, Object parameter)
int update(String statement, Object parameter)
int delete(String statement, Object parameter)
- 操作事务的方法主要有:
void commit() //事务提交
void rollback()//事务回滚
4.执行步骤
- 加载核心配置文件
- 创建SqlSessionFactory工厂
- 通过SqlSessionFactory工厂创建SqlSeeSion对象
- 执行sql
- 提交事务
- 释放连接
// 1.加载核心配置文件
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
// 2.创建SqlSessionFactory工厂
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 3.通过SqlSessionFactory工厂创建SqlSeeSion对象
SqlSession sqlSession = sqlSessionFactory.openSession(true);
// 4.执行sql
User user = new User();
user.setAddress("jinan");
user.setBirthday(new Date());
user.setSex("1");
user.setUsername("leelon");
int insert = sqlSession.insert("userMapper.saveUser",user);
if (insert > 0){
System.out.println("注册成功");
}else{
System.out.println("注册失败");
}
//提交事务
sqlSession.commit();
// 5.释放连接
sqlSession.close();