SSM框架知识自查--Mybatis

本文介绍了MyBatis框架的基础知识,包括其作用、持久层的概念和目标。通过一个简单的MyBatis程序实例,展示了如何创建项目、配置依赖、编写配置文件、映射结果集ResultMap以及设置日志打印。还深入讲解了MyBatis的缓存机制,包括一级缓存和二级缓存的使用及原理。
摘要由CSDN通过智能技术生成

mybatis

0、认识mybatis

mybatis是个啥

  • MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
  • MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。
  • MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

认识持久层

  • 持久化指的是 将程序的数据在数据持久状态和瞬时状态转化过程
  • 为啥要持久化? 有些数据不能断电即失;内存贵
  • 持久层就是持久化数据的工作层

mybatis用来干啥

  • 帮助程序员将数据存入数据库
  • 简化传统的jdbc,更加简单、自动化

1、第一个mybatis程序

  1. 创建数据库、数据表
  2. 新建项目
  3. 导入MySQL、mybatis、Junit依赖
  4. 写mybatis配置文件,
    注意注册mybatis.xml
  5. 获取SQLSessionFactory对象、创建SqlSession
  6. 写实体类、Dao接口、Xml
    xml注意 namespace绑定对应的Dao,返回类型,xml中id对应接口方法名
    注意手动配置资源过滤,过滤Java下的xml

2、ResultMap 结果集映射

ResultMap 用于pojo与数据表字段的对应

(1)使用:

  • 在xml中定义一个resultMap
  • column属性对应数据表中字段
  • property对应pojo的属性

3、配置

打印sql日志 在xml中,设置settings
驼峰

(1) 标准日志工厂实现

<setting name = "logImpl" value = "STDOUT_LOGGING"/>

(2) log4j实现

额外导入依赖包
配置log4j一些参数
setting 的 value = “LOG4J”
P.S.
日志级别 Error》 Warn 》 Info 》 Debug
大于等于当前设置的日志级别的日志才会输出
lombok使用
添加插件、添加依赖、添加Annotation使用

4、xml中一些标签

<where> 自动识别后面条件判断是否加where、and、or 可替代where 1=1
<choose> 相当于Switch选一个
<sql> 抽取公共部分, 在用<include refid ="">引用
<if>  <foreach>

5、缓存

mybatis支持两层缓存

(1) 一级缓存

只在一个sqlSession 里面有效
默认开启

(2) 二级缓存

基于namespace的缓存(同一mapper)
使用:

  • config.xml中setting使用缓存
<setting name = "cacheEnabled" value = "true"/>

在要使用二级缓存的mapper.xml中 设置

<cache/>

需要将实体类序列化
所有数据先存入一级缓存中
只有当前会话提交或关闭,一级缓存失效,才会提交到二级缓存中

(3) 缓存原理图

mybatis缓存原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值