Mybatis入門

目錄
Mybatis快速入門
JDBC介紹
數(shù)據(jù)庫(kù)連接池
lombok

Mybatis快速入門
使用Mybatis查詢所有用戶數(shù)據(jù)
準(zhǔn)備工作(創(chuàng)建springboot工程、數(shù)據(jù)庫(kù)表user、實(shí)體類User)
引入Mybatis的相關(guān)依賴,配置Mybatis(數(shù)據(jù)庫(kù)連接信息)
編寫SQL語(yǔ)句(注解/XML)

①. 準(zhǔn)備工作(創(chuàng)建springboot工程、數(shù)據(jù)庫(kù)表user、實(shí)體類User)



實(shí)體類:
②. 引入Mybatis的相關(guān)依賴,配置Mybatis(數(shù)據(jù)庫(kù)連接信息)
③. 編寫SQL語(yǔ)句(注解/XML)
④. 單元測(cè)試

配置SQL提示


產(chǎn)生原因:Idea和數(shù)據(jù)庫(kù)沒有建立連接,不識(shí)別表信息
?解決方式:在Idea中配置MySQL數(shù)據(jù)庫(kù)連接


JDBC介紹
JDBC: ( Java DataBase Connectivity ),就是使用Java語(yǔ)言操作關(guān)系型數(shù)據(jù)庫(kù)的一套API。
在Java語(yǔ)言中編寫SQL語(yǔ)句,對(duì)mysql數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行CRUD操作。增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)操作

本質(zhì):
sun公司官方定義的一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)范,即接口。
各個(gè)數(shù)據(jù)庫(kù)廠商去實(shí)現(xiàn)這套接口,提供數(shù)據(jù)庫(kù)驅(qū)動(dòng)jar包。
我們可以使用這套接口(JDBC)編程,真正執(zhí)行的代碼是驅(qū)動(dòng)jar包中的實(shí)現(xiàn)類。


由于過于繁瑣,我們推薦使用SpringBoot+Mybatis


數(shù)據(jù)庫(kù)連接池
數(shù)據(jù)庫(kù)連接池是個(gè)容器,負(fù)責(zé)分配、管理數(shù)據(jù)庫(kù)連接(Connection)
它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是再重新建立一個(gè)
釋放空閑時(shí)間超過最大空閑時(shí)間的連接,來避免因?yàn)闆]有釋放連接而引起的數(shù)據(jù)庫(kù)連接遺漏
優(yōu)勢(shì):
資源重用
提升系統(tǒng)響應(yīng)速度
避免數(shù)據(jù)庫(kù)連接遺漏

標(biāo)準(zhǔn)接口:DataSource
官方(sun)提供的數(shù)據(jù)庫(kù)連接池接口,由第三方組織實(shí)現(xiàn)此接口。
功能:獲取連接?
常見產(chǎn)品:

Druid(德魯伊)
Druid連接池是阿里巴巴開源的數(shù)據(jù)庫(kù)連接池項(xiàng)目
功能強(qiáng)大,性能優(yōu)秀,是Java語(yǔ)言最好的數(shù)據(jù)庫(kù)連接池之一

切換Druid數(shù)據(jù)庫(kù)連接池
官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
小結(jié):
數(shù)據(jù)庫(kù)連接池
是一個(gè)容器,負(fù)責(zé)分配、管理數(shù)據(jù)庫(kù)連接(Connection)
優(yōu)勢(shì):資源復(fù)用、提升系統(tǒng)響應(yīng)速度
接口:DataSource
產(chǎn)品:C3P0、DBCP、Druid、Hikari

lombok
Lombok是一個(gè)實(shí)用的Java類庫(kù),能通過注解的形式自動(dòng)生成構(gòu)造器、getter/setter、equals、hashcode、toString等方法,并可以自動(dòng)化生成日志變量,簡(jiǎn)化java開發(fā)、提高效率。

注意事項(xiàng):Lombok會(huì)在編譯時(shí),自動(dòng)生成對(duì)應(yīng)的java代碼。我們使用lombok時(shí),還需要安裝一個(gè)lombok的插件(idea自帶)。
