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中的多表操作(掌握应用)
-
一对多
- 一个用户可以下多个订单
- 多个订单属于同一个用户
-
一对一
- 一个人只有一个身份证号
- 一个身份证号只对应一个人
-
多对多
- 一个学生被多个老师教
- 一个老师叫多个学生
