Mybatis Note 基礎(chǔ)知識(三)

Mybatis(三)

mybatis中的連接池以及事務(wù)控制(原理部分了解,應(yīng)用部分會用)

  • 連接池

    我們在實際開發(fā)中都會使用連接池
    因為它可以減少我們獲取連接所消耗的時間
    
  • mybatis中連接池使用分析

    mybatis連接池提供了3種方式的配置

    配置的位置

    主配置文件SqlMapConfig.xml種的dataSource標(biāo)簽,type屬性就是表示采用何種連接池方式

    type屬性取值

    • POOLEND
    • UNPOOLEND
    • JNDI
  • mybatis事務(wù)控制的分析

    mybatis中的事務(wù)

    什么是事務(wù)

    事務(wù)的四大特性ACID

    不考慮隔離性會產(chǎn)生的3個問題

    解決辦法:四種隔離級別

    ==它是通過sqlsession對象的commit方法和rollback方法實現(xiàn)事務(wù)的提交和回滾==

mybatis基于XML配置的動態(tài)SQL語句使用(會用即可)

  • mappers配置文件中的幾個標(biāo)簽

    <if>

    <where>

    <!--根據(jù)條件查詢用戶-->
    <select id="findByCondition" parameterType="user" resultType="user">
        select * from user where 1=1 and username = #{username};
    </select>
    
    <!--根據(jù)條件查詢用戶-->
    <select id="findByCondition" parameterType="user" resultType="user">
        select * from user
        <where>
            <if test="username != null">
            and username = #{username}
            </if>
        </where>
    </select>
    

    <foreach>

    image.png

<sql>

<select id="findByName" parameterType="String" resultType="user">
    <!--select * from user where username like '%${value}%';-->
    <include refid="defaultUser"/>
</select>

<!--抽取重復(fù)的SQL語句-->
<sql id="defaultUser">
    select * from user where username like #{username};
</sql>

mybatis中的多表操作(掌握應(yīng)用)

  1. 一對多

    • 一個用戶可以下多個訂單
    • 多個訂單屬于同一個用戶
  2. 一對一

    • 一個人只有一個身份證號
    • 一個身份證號只對應(yīng)一個人
  3. 多對多

    • 一個學(xué)生被多個老師教
    • 一個老師叫多個學(xué)生
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容