2021-08-18

1、MyBatis简介
01、MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解 来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中 的记录。
02、MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移 到了google code,并且改名为MyBatis 。
03、国内环境用MyBatis比较多 ,MyBatisPlus这是MyBatis的再封装
MyBatis用得比较多的原因是,中国的项目需求多变
国外用JPA Hibernate比较多 这两个是偏向于标准的对象映射,基本是看不到SQL的,有点类似于C#的Liq

2、MyBatis的优点:
01、帮助程序猿将数据存入到数据库中
02、方便
03、传统的JDBC代码太复杂了。简化。框架。自动化。
04、简单易学、灵活
05、sql和代码的分离,提高了可维护性
06、提供映射标签,支持对象与数据库的orm字段关系映射
07、提供对象关系映射标签,支持对象关系组建维护
08、提供xml标签,支持编写动态sql。

3、关于MyBatis缓存的分类
01、 一级缓存:同一个 SqlSession 对象, 在参数和 SQL 完全一样的情况下, 只执行一次 SQL 语句 (前提缓存没有过期)
02、 二级缓存:Mybatis的二级缓存是指mapper映射文件。二级缓存的作用域是同一个namespace下 的mapper映射文件内容,多个SqlSession共享。

4、关于一级缓存的注意事项
01、同一个 SqlSession 中, Mybatis 会把执行的方法和参数通过算法生成缓存的键值, 将键值和结果 存放在一个 Map 中, 如果后续的键值一样, 则直接从 Map 中 获取数据;
02、不同的 SqlSession 之间的缓存是相互隔离的;
03、用一个 SqlSession , 可以通过代码或配置在查询前清空缓存;
04、 insert、update、delete 语句会清空缓存。

5、关于MyBatis缓存的使用注意事项
01、由于在更新时会刷新缓存, 因此需要注意使用场合:查询频率很高, 更新频率很低时使用, 即经 常使用 select, 相对较少使用insert, update,delete。
02、缓存是以 namespace 为单位的,不同 namespace 下的操作互不影响。但刷新缓存是刷新整个 namespace 的缓存, 也就是你 insert, update,delete 了一个, 则整个缓存都刷新了。
03、最好在 「只有单表操作」 的表的 namespace 使用缓存, 而且对该表的操作都在这个 namespace 中。 否则可能会出现数据不一致的情况。

6、关于SSM整合导入的包说明
01、导入的spring、springMVC、MyBatis、Junit、json、文件上传、数据库的连接驱动、Java EE、Java web、aop、日志相关的jar包
02、关于这些包的一些说明
在这里插入图片描述

7、报错提示为:Type interface com.gx.dao.SysRoleConstructorMapper is not known to the MapperRegistry 即为还没在下图这个地方注册
在这里插入图片描述

8、&符号在xml中是有特殊转义的,所以说在xml中&符号需要转义一下,转义格式为&amp
在这里插入图片描述

    9、关于下面图片的简述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/b76e99765b7143a5abe8630900d5c1bf.png#pic_center)

01、第一个* 代表返回类型
02、com.gx.service… 代表service层的当前目录及其子目录
03、第二个代表所有,而Imp代表所有的impl的后缀
04、第三个*代表所有的方法
05、(…)代表所有的参数

10、单表查询中单个参数和多个参数注意事项:
单个参数时:
@Param 注解可以省略不写
不写 @Param 注解时,形参的名称可以不和Mapper.xml中的 #{} 获取变量名一致。不建议
写 @Param 注解时,注解中的参数名称必须和Mapper.xml中的 #{} 获取变量名一致。
多个参数时:
每个参数前必须添加 @Param 注解
注解中的参数名称必须和Mapper.xml中的 #{} 获取变量名一致。
注解中的参数名称与方法的参数名称可以不一致。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值