mybatis jar包_Java修行第039天---Mybatis框架
1.掌握框架的概念
(1)框架是什么
a)框架直白來說就是偷懶的程序員將代碼進行封裝,之后重復使用的過程
b)框架屬于半成品
c)在使用框架時,需要告訴框架需要的信息.通常以配置文件的方式告知,一般來說,多數會使用xml作為框架的配置文件.(框架自己會解析)
d)因此,在使用框架開發代碼時,需要編寫配置文件,代碼編寫反而會減少
e)框架都是第三方提供,提供的都是jar包. 因此,使用框架前,必須將框架涉及的jar包導入項目中.
f)常見的java開發的框架
mybatis, ORM框架, 底層是對jdbc進行了封裝
Spring,是一個容器
SpringMVC,分層框架
Struts2,類似于SpringMVC
Hibernate,類似于,MyBatis
為什么框架都要有配置文件?
例如在mybatis框架中有兩個核心的配置文件,第一個為核心配置文件,第二個為映射配置文件。核心配置文件是用來生成操作數據庫的連接對象以及事務和執行器;而映射配置文件是將數據庫和實體類進行關聯操作的重要文件;所以需要有配置文件
(2)mybatis簡介
MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優秀持久層框架。
MyBatis 消除了幾乎所有的 JDBC 代碼和參數的手工設置以及結果集的檢索。
MyBatis 使用簡單的 XML 或注解用于配置和原始映射,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 對象)映射成數據庫中的記錄。
如何理解MyBatis框架
mybatis框架是對持久層(Dao層)的二次封裝,底層使用JDBC技術實現,該框架是用來解決面向對象語言與關系型數據庫不匹配的現象
(3)mybatis環境搭建
(3.1)創建項目
(3.2)導入jar包
1)核心jar包
mybatis-3.2.7
2)MyBatis 依賴的 jar包
asm-3.3.1.jar 字節碼解析包, 被cglib依賴
cglib-2.2.2.jar 動態代理的實現
commons-logging-1.1.1.jar 日志包
javassist-3.17.1-GA.jar 字節碼解析包
log4j-1.2.17.jar 日志包
log4j-api-2.0-rc1.jar 日志
log4j-core-2.0-rc1.jar 日志
slf4j-api-1.7.5.jar 日志
slf4j-log4j12-1.7.5.jar 日志
3)驅動jar
mysql-connector-java-5.1.30.jar
(3.3)編寫配置文件
a)是一個xml文件,命名無要求,位置無要求,一般mybatis.xml,放在src目錄下下
b)mybatis 配置問文件的dtd約束
(3.3.1)配置文件詳解
1.1 <configuration> 這是配置文件的根元素, 所有的其他元素都要在這個標簽下使用.
1.2 <environments> 用于管理所有的環境, 并可以指定默認使用哪個環境. 通過default 屬性來指定.
1.3 <environment> 用于配置環境. id 屬性用于唯一標識當前環境
1.4 <transactionManager> 用于配置事務管理器
1.4.1 type 屬性 用于指定 MyBatis 采用何種方式管理事務
a) JDBC: 表示 MyBatis 采用與原生 JDBC 一致的方式管理事務
b) MANAGED: 表示將事務管理交給其他容器進行, 例如 Spring
1.5 <DataSource> 用于配置數據源, 設置 MyBatis 是否使用連接池技術, 并且配置數據 庫連接的四個參數
1.5.1 type 屬性 用于設置 MyBatis 是否使用連接池技術 a) POOLED, 表示采用連接池技術
b) UNPOOLED, 表示每次都會開啟和關閉連接, 不使用連接池技術
c) JNDI, 使用其他容器(例如 Spring)提供數據源
1.6 <property> 用于配置數據庫連接參數(driver, url, username, password)
1.7 <mappers> 用于掃描 mapper 信息
(3.4)定義pojo類 ---實體類--屬性的方法
(3.5)數據訪問層 ---mapper映射文件
在mybatis中,推薦使用mapper作為包名(以前我們常用Ddao作為包名)
現在,在mapper包中只需要寫一個映射配置文件.xml即可
UserMapper .xml 這個文件要干什么 用于定義要執行的SQL語句
同時設定返回結果的類型
(3.5.1)mapper 映射配置文件詳解
<mapper> 根元素
namespace 屬性
用于指定命名空間, mybatis 是通過 namespace+id 的方式來定位 SQL 語句的, 所以必須指定namespace. 通常namespace被配置為全限定路 徑
<select> 用于定義查詢語句(DQL)
id 屬性
用于唯一表示 SQL 語句, 類似于方法的方法名
resultType 屬性
用于設定查詢返回的數據類型, 要寫類型的全限定路徑. 如果返回的 是集合類型, 要寫集合的泛型的類型.
(3.6)測試步驟
1.首先,加入一個JUnit工具包,添加@Test之后可以直接省去main方法
2.然后,需要加載SQL核心配置文件創建一個io輸入流
3.接著,構建一個sqlSessionFactory工廠對象
4.再通過工廠打開sqlSession
5.通過session執行查詢操作
6.關閉資源
3 MyBatis三個查詢方法_selectList_selectOne_selectMap
1.1 selectList
用于查詢多條數據的情況, 返回值是一個 list 集合. 如果沒有查到任 何數據, 返回沒有元素的集合(空集合, 不是 null)
1.2 selectOne
用于查詢單條數據的情況, 返回值是一個對象. 如果沒有查到任何數 據, 返回 null
1.3 selectMap
用于查詢多條數據的情況, 多條數據要形成一個 Map 集合. 需要指 定哪個屬性作為 key. 如果查不到, 返回一個空 map 集合(不是 null)
4 LOG4J
(4.1)log4j 簡介
a) log4j 是 Apache 提供的一款記錄日志的工具
b) log4j 既可以將日志信息打印在控制臺, 也可以打印輸出
到一個日志文件中.
c) log4j 可以定制日志的輸出格式
d) log4j 可以定制日志級別
(4.2) 日志級別
FATAL
致命的, 表示非常嚴重的錯誤, 一般是系統錯誤
ERROR
錯誤, 表示代碼錯誤, 比較嚴重
WARN
警告, 不影響程序的運行, 但是可能存在風險.
INFO
信息, 表示一個普通的輸出信息
DEBUG
調試, 表示程序員人為的一些調試信息
(4.3)使用Log4J
(4.3.1)導包
log4j-1.2.17.jar
log4j-api-2.0-rc1.jar
log4j-core-2.0-rc1.jar
(4.3.2)配置文件
使用一個叫log4j.properties的配置文件, 會設定log4j的設置信息, 例如日志級別, 日志輸出方式, 日志格式等等.
(4.3.3)日志的輸出格式
%m 顯示輸出消息
%c 列出調用logger的類的全類名(包含包和路徑)
%L顯示調用logger的代碼行
%d顯示日志記錄時間
如何使用log4j記錄日志?
1).先解開日志文件
log4j.rootCategory=DEBUG, CONSOLE, LOGFILE
2).然后選擇文件路徑
log4j.appender.LOGFILE.File=e:/test.log
3).選擇追加時,則不會進行覆蓋
log4j.appender.LOGFILE.Append=true
5 MyBatis 對 log4j 的支持
(5.1)通過<settings>開啟 log4j 的支持
<settings>用于設置 MyBatis 在運行時的行為方式, 例如: 緩存, 延遲加載, 日志等.
(5.2) 局部調整日志級別, 定制日志的輸出
6 <properties>標簽
(6.1)功能
用于加載外部的 properties 文件
(6.2) 使用方式
獲取 properties 文件中數據時, 要通過${}的方式獲取.
總結
以上是生活随笔為你收集整理的mybatis jar包_Java修行第039天---Mybatis框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 95505是哪个保险公司
- 下一篇: 稀疏矩阵加法运算_1.2 震惊! 某大二