对MyBatis的SqlSession理解
SqlSession
是 MyBatis
框架中的一个接口,用于执行与数据库相关的操作。它提供了一系列方法,用于查询、插入、更新和删除数据等数据库操作。
SqlSession
接口是通过SqlSessionFactory
创建的,每个SqlSession实例都代表着与数据库的一次会话。在会话期间,可以使用SqlSession
对象执行各种数据库操作,并管理事务的提交或回滚。
使用SqlSession进行数据库操作的一般步骤如下:
- 通过
SqlSessionFactory
创建SqlSession
实例。 - 使用
SqlSession
的方法执行数据库操作。 - 根据需要进行事务的提交或回滚。
- 关闭
SqlSession
,释放数据库连接。
public class Main {public static void main(String[] args) {SqlSession sqlSession = null;try {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource); //获取了一个输入流inputStream,用于读取MyBatis的配置文件SqlSessionFactory sqlSessionFactory = SqlSessionFactoryBuilder().build(inputStream);// 使用SqlSessionFactoryBuilder构建SqlSessionFactory实例sqlSession = sqlSessionFactory.openSession(); // 创建SqlSession// 执行查询操作List<User> userList = sqlSession.selectList("com.example.UserMapper.getAllUsers");// 处理查询结果for (User user : userList) {System.out.println(user.getId() + " - " + user.getName());}sqlSession.commit(); // 提交事务} catch (Exception e) {sqlSession.rollback(); // 回滚事务e.printStackTrace();} finally {if (sqlSession != null) {sqlSession.close(); // 关闭SqlSession}}}
}