Mybatis第一天

mybatis框架
共四天
第一天:mybatis入門java

mybatis的概述
mybatis的環境搭建
mybatis入門案例
自定義mybatis框架(主要的目的是爲了讓你們瞭解mybatis中執行細節)

次日:mybatis基本使用sql

mybatis的單表crud操做
mybatis的參數和返回值
mybatis的dao編寫
mybatis配置的細節
    幾個標籤的使用

第三天:mybatis的深刻和多表數據庫

mybatis的鏈接池
mybatis的事務控制及設計的方法
mybatis的多表查詢
    一對多(多對一)
    多對多

第四天:mybatis的緩存和註解開發緩存

mybatis中的加載時機(查詢的時機)
mybatis中的一級緩存和二級緩存
mybatis的註解開發
    單表CRUD
    多表查詢

一、什麼是框架?mybatis

它是咱們軟件開發中的一套解決方案,不一樣的框架解決的是不一樣的問題。
使用框架的好處:
    框架封裝了不少的細節,使開發者可使用極簡的方式實現功能。大大提升開發效率。

二、三層架構架構

表現層:
    是用於展現數據的
業務層:
    是處理業務需求
持久層:
    是和數據庫交互的

三、持久層技術解決方案app

JDBC技術:
    Connection
    PreparedStatement
    ResultSet
Spring的JdbcTemplate:
    Spring中對jdbc的簡單封裝
Apache的DBUtils:
    它和Spring的JdbcTemplate很像,也是對Jdbc的簡單封裝

以上這些都不是框架
    JDBC是規範
    Spring的JdbcTemplate和Apache的DBUtils都只是工具類

四、mybatis的概述框架

mybatis是一個持久層框架,用java編寫的。
它封裝了jdbc操做的不少細節,使開發者只須要關注sql語句自己,而無需關注註冊驅動,建立鏈接等繁雜過程
它使用了ORM思想實現告終果集的封裝。

ORM:
    Object Relational Mappging 對象關係映射
    簡單的說:
        就是把數據庫表和實體類及實體類的屬性對應起來
        讓咱們能夠操做實體類就實現操做數據庫表。

        user            User
        id            userId
        user_name        userName
今天咱們須要作到
    實體類中的屬性和數據庫表的字段名稱保持一致。
        user            User
        id            id
        user_name        user_name

五、mybatis的入門maven

mybatis的環境搭建
    第一步:建立maven工程並導入座標
    第二步:建立實體類和dao的接口
    第三步:建立Mybatis的主配置文件
            SqlMapConifg.xml
    第四步:建立映射配置文件
            IUserDao.xml
環境搭建的注意事項:
    第一個:建立IUserDao.xml 和 IUserDao.java時名稱是爲了和咱們以前的知識保持一致。
        在Mybatis中它把持久層的操做接口名稱和映射文件也叫作:Mapper
        因此:IUserDao 和 IUserMapper是同樣的
    第二個:在idea中建立目錄的時候,它和包是不同的
        包在建立時:com.itheima.dao它是三級結構
        目錄在建立時:com.itheima.dao是一級目錄
    第三個:mybatis的映射配置文件位置必須和dao接口的包結構相同
    第四個:映射配置文件的mapper標籤namespace屬性的取值必須是dao接口的全限定類名
    第五個:映射配置文件的操做配置(select),id屬性的取值必須是dao接口的方法名

    當咱們聽從了第三,四,五點以後,咱們在開發中就無須再寫dao的實現類。
mybatis的入門案例
    第一步:讀取配置文件
    第二步:建立SqlSessionFactory工廠
    第三步:建立SqlSession
    第四步:建立Dao接口的代理對象
    第五步:執行dao中的方法
    第六步:釋放資源

    注意事項:
        不要忘記在映射配置中告知mybatis要封裝到哪一個實體類中
        配置的方式:指定實體類的全限定類名
    
    mybatis基於註解的入門案例:
        把IUserDao.xml移除,在dao接口的方法上使用@Select註解,而且指定SQL語句
        同時須要在SqlMapConfig.xml中的mapper配置時,使用class屬性指定dao接口的全限定類名。
明確:
    咱們在實際開發中,都是越簡便越好,因此都是採用不寫dao實現類的方式。
    無論使用XML仍是註解配置。
    可是Mybatis它是支持寫dao實現類的。

六、自定義Mybatis的分析:ide

mybatis在使用代理dao的方式實現增刪改查時作什麼事呢?
    只有兩件事:
        第一:建立代理對象
        第二:在代理對象中調用selectList
    
自定義mybatis能經過入門案例看到類
    class Resources
    class SqlSessionFactoryBuilder
    interface SqlSessionFactory
    interface SqlSession

01.Mybatis課程介紹及環境搭建

新建一個普通的工程
image.png
image.png

02.Mybatis的入門案例

image.png
image.png
image.png)

相關文章
相關標籤/搜索