Mybatis持久化框架

1、工作原理

以下步骤:

1)mybatis读取核心配置文件(mybatis-config.xml)

2) 加载映射文件(Mapper.xml)

3) 构造会话工厂

4)创建会话对象

5)创建执行器

6)封装映射信息

7)操作数据库

8)输出结果映射

2、核心配置文件

使用mybatis框架解决持久化问题,主要涉及到3个核心对象:分别是SqlSessionFactoryBuilder、SqlSessionFactory、Sqlsession。

SqlSessionFactoryBuilder是SqlSessionFactory的构造者,SqlSessionFactoryBuilder通过build()方法构建SqlSessionFactory对象。

SqlSessionFactory用于创建Session对象,调用openSession()方法创建Sqlsession对象。

Sqlsession应用程序与持久层之间执行交互操作的对象,主要作用是执行持久化操作。

配置文件主要包含元素:

<properties>读取外部文件的配置信息。

<settings>改变Mybatis运行时的行为。

<typeAliases>给实体类设置一个简短的别名。

<environments>可以配置多套运行环境。

<mappers>引入Mybatis映射文件。

3、映射文件

映射文件常用元素:

<mapper>、<cache>、<cache-ref>、<select>、<insert>、<update>、<delect>、<sql>、<resultMap>

4、动态sql

动态sq可以灵活组装sql语句,常用元素有:

<if>判断语句,用于单条件判断。

<choose>用于多条件判断

<when>简化sql语句中的where条件判断

<trim>灵活的去除多余的关键字

<set>用于sql语句的动态更新

<foreach>循环语句

5、关联关系(一对一、一对多、多对多)

表与表之间存在三种关联映射关系,一对一、一对多、多对多。

一对一:在本类中定义与之关联的类的对象作为属性。

一对多:一个A类对象对应多个B类对象的情况。

多对多:在两个相互关联的类中,都可以定义多个与之关联的类的对象。

6、一级缓存和二级缓存

一级缓存是SqlSession级别的缓存,如果同一个Sqlsession多次执行完全相同的sqlSession语句,第一次执行就会写入到一级缓存中,第二次执行相同的查询语句,会直接读取一级缓存的中的数据,而不会再次去访问数据库。

二级缓存时Mapper级别的缓存,二级缓存的范围更大,多个SqlSession对象使用相同的Mapper,相同的查询语句去操作数据库,第一个SqlSession会将查询结果写入二级缓存,第二个SqlSession执行相同语句时,会直接读取二级缓存的数据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值