MyBatis開發框架的四大核心
MyBatis 四大核心主要包括(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。
MyBatis 作為網際網路資料庫對映工具界的“上古神器”,訓有四大“神獸”,謂之:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper。可以說,瞭解了這四大核心,便可知 MyBatis 八 九。
SqlSessionFactoryBuilder
從命名上可以看出,這個是一個 Builder 模式的,用於建立 SqlSessionFactory 的類。SqlSessionFactoryBuilder 根據配置來構造 SqlSessionFactory。
其中配置方式有兩種
1. XML 檔案方式
XML 檔案方式是作為常用的一種方式:
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
mybatis-config.xml 就是我們的配置檔案:
PUBLIC “-//mybatis.org//DTD Config 3.0//EN”
“http://mybatis.org/dtd/mybatis-3-config.dtd”>
2. Java Config
這是第二種配置方式,通過 Java 程式碼來配置:
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
Java Config 相比較 XML 檔案的方式而言,會有一些限 制。比如修改了配置檔案需要重新編譯,註解方式沒有 XML 配置項多等。所以,業界大多數情況下是選擇 XML 檔案的方式。但到底選擇哪種方式,這個要取決與自己團隊的需要。比如,專案的 SQL 語句不復雜,也不需要一些高階的 SQL 特性,那麼 Java Config 則會更加簡潔一點;反之,則可以選擇 XML 檔案的方式。
SqlSessionFactory
SqlSessionFactory 顧名思義,是用於生產 SqlSession 的工廠。
通過如下的方式來獲取 SqlSession 例項:
SqlSession session = sqlSessionFactory.openSession();
SqlSession
SqlSession 包含了執行 SQL 的所有的方法。以下是示例:
SqlSession session = sqlSessionFactory.openSession();
try {
Blog blog = session.selectOne(
"org.mybatis.example.BlogMapper.selectBlog", 101);
} finally {
session.close();
}
當然,下面的方式可以做到型別安全:
SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}
Mapper
Mapper 顧名思義,是用做 Java 與 SQL 之間的對映的。包括了 Java 對映為 SQL 語句,以及 SQL 返回結果對映為 Java。
比如,下面是一個常見的 Mapper 介面對映檔案:
select * from Blog where id = #{id}
其中 "org.mybatis.example.BlogMapper" 就是我們要射射的介面,selectBlog 就是BlogMapper上的方法。而這個 selectBlog 具體就是要執行“select * from Blog where id = #{id}”這個 SQL 語句。
這樣,我們就能通過
Blog blog = session.selectOne(
"org.mybatis.example.BlogMapper.selectBlog", 101);
或者是
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
來獲取到執行的結果。
當然,如果是採用註解的方式的話,可以省去 XML 檔案:
public interface BlogMapper {
@Select("SELECT * FROM blog WHERE id = #{id}")
Blog selectBlog(int id);
}
相關文章
- JNPF快速開發平臺的四大開發框架介紹之工作流開發框架框架
- EBCMS核心後臺開發框架框架
- Mybatis基礎:Mybatis對映配置檔案,Mybatis核心配置檔案,Mybatis傳統方式開發MyBatis
- _002_SpringBoot_SpringBoot四大核心與開發環境Spring Boot開發環境
- MyBatis——MyBatis開發流程MyBatis
- Mybatis框架MyBatis框架
- Mybatis的核心——SqlSession解讀MyBatisSQLSession
- Mybatis相關:基於註解的Mybatis開發MyBatis
- 「Mybatis系列」Mybatis開發方式和配置MyBatis
- LollipopGo框架-鬥獸棋遊戲開發基本核心模組Go框架遊戲開發
- 框架系列——MyBatis框架MyBatis
- spring-boot 整合mybatis-plus 組成後臺開發基本框架SpringbootMyBatis框架
- Mybatis20_mybatis註解開發9MyBatis
- MyBatis加強(4)~mybatis 外掛開發MyBatis
- Mybatis外掛開發MyBatis
- spring和Mybatis的核心配置檔案SpringMyBatis
- java框架之mybatisJava框架MyBatis
- 手寫mybatis框架MyBatis框架
- 初識MyBatis框架MyBatis框架
- 快速搭建MyBatis 框架MyBatis框架
- Java開發工程師最新面試題庫系列——Mybatis框架部分(附答案)Java工程師面試題MyBatis框架
- 手寫自己的MyBatis框架-SqlSessionMyBatis框架SQLSession
- 歡迎使用開源持久化框架 MyBatis Enhance持久化框架MyBatis
- MyBatis-Pro,新一代的MyBatis增強框架MyBatis框架
- 開源框架TLog核心原理架構解析框架架構
- MyBatis之五_開發中的問題MyBatis
- MyBatis 核心配置講解(上)MyBatis
- MyBatis--優秀的持久層框架MyBatis框架
- Mybatis和其他主流框架的整合使用MyBatis框架
- Mybatis框架基礎-03MyBatis框架
- web前端開發的六大開發工具,四大工作職責!Web前端
- 前端框架開發之Niu框架——從零學框架的小白前端框架
- 敏捷開發框架的優勢敏捷框架
- 一個Wpf的開發框架框架
- golang 版本的MVC開發框架GolangMVC框架
- 搭建MyBatis開發環境及基本的CURDMyBatis開發環境
- 使用mybatis開發的增刪改查操作MyBatis
- 開發一個MyBatis通用Mapper的輪子MyBatisAPP