Mybatis Note 基础知识(三)

Mybatis(三)

mybatis中的连接池以及事务控制(原理部分了解,应用部分会用)

  • 连接池

    我们在实际开发中都会使用连接池
    因为它可以减少我们获取连接所消耗的时间
    
  • mybatis中连接池使用分析

    mybatis连接池提供了3种方式的配置

    配置的位置

    主配置文件SqlMapConfig.xml种的dataSource标签,type属性就是表示采用何种连接池方式

    type属性取值

    • POOLEND
    • UNPOOLEND
    • JNDI
  • mybatis事务控制的分析

    mybatis中的事务

    什么是事务

    事务的四大特性ACID

    不考虑隔离性会产生的3个问题

    解决办法:四种隔离级别

    ==它是通过sqlsession对象的commit方法和rollback方法实现事务的提交和回滚==

mybatis基于XML配置的动态SQL语句使用(会用即可)

  • mappers配置文件中的几个标签

    <if>

    <where>

    <!--根据条件查询用户-->
    <select id="findByCondition" parameterType="user" resultType="user">
        select * from user where 1=1 and username = #{username};
    </select>
    
    <!--根据条件查询用户-->
    <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>

<!--抽取重复的SQL语句-->
<sql id="defaultUser">
    select * from user where username like #{username};
</sql>

mybatis中的多表操作(掌握应用)

  1. 一对多

    • 一个用户可以下多个订单
    • 多个订单属于同一个用户
  2. 一对一

    • 一个人只有一个身份证号
    • 一个身份证号只对应一个人
  3. 多对多

    • 一个学生被多个老师教
    • 一个老师叫多个学生
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容