對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}}}
}