几分钟带你快速了解MyBatis框架理论知识!

简介: 几分钟带你快速了解MyBatis框架理论知识!

1.Mybatis框架是什么?

mybatis是一款非常优秀的持久化框架,也是一个半ORM(对象关系映射)框架。mybatis框架它支持sql语句的定制化、存储过程和高级映射。mybatis避免了JDBC代码和手动设置参数和获取结果集。mybatis使用简单的xml或者是注解方式配置和映射原生类型、接口和java的实体类为数据库中的记录。

2.Mybatis编程步骤是什么?

第一步:创建SqlSessionFactory

第二步:通过SqlSessionFactory创建sqlSession

第三步:使用sqlSession执行数据库的操作

第四步:使用sqlSession.commit完成事务的提交

第五步:使用sqlSession.close进行资源的关闭

3.在Mybatis中,$和#的区别是什么?

${}是字符串替换,#{}是占位符

${}在执行的过程中,直接将字符串内容进行了替换

#{}在执行的过程中,会将#{}替换成?,使用preparedStatement调用set来完成数据的赋值,然后执行。使用#{}能够防止sql注入,安全性更高。

4.在Mybatis中,resultType和resultMap的区别是什么?

如果数据库结果的列名和实体类的属性可以一一对应的话,使用resultType。如果数据库结果的列名和实体类的属性不能实现一一对应的话,使用resultMap完成映射,resultMap需要配置一下表和类的一一对应关系,因此数据库结果的列名和属性名可以不用一致,也能够给你映射出来。

5.在Mybatis中,常用的动态sql标签有哪些?分别有什么作用?

<if>:if用来匹配是否满足某种特定规则,比如是否为空

<where>:where是用来动态拼接查询条件,和if配合使用可以省略掉无效的where 1=1 的写法

<include>:如果有大量可重复利用的代码,可以用include进行整合,完了需要的时候完成调用即可,实现了代码的复用。

<foreach>:foreach可以将传入的集合对象进行循环遍历,将对象作为参数传入sql语句。

<set>:set用于更新,只有匹配成功才能够完成更新操作。

6.Mybatis缓存机制?

一级缓存:sqlSession级别的,默认是开启状态,不能够被关闭。数据查询顺序:一级缓存->数据库。

场景:例如查询用户为用户1的数据,在执行的时候会从缓存里面获取数据,如果没获取到的话会从数据库里面查询,查到后也会同时放到缓存里面。等到第二次查询用户为用户1的数据,直接从缓存里面获取即可。

在里面需要注意的是,如果sqlSession失效了,或者sqlSession关闭了,或者在两次查询中间执行了CUD操作,或者执行了clear操作,缓存里面的数据都可能失效。

二级缓存:mapper级别的,默认是关闭状态,如果需要使用需要开启。在配置文件里面将cacheEnable设置为true。数据查询顺序:二级缓存->一级缓存->数据库。

场景:例如查询用户为用户1的数据,在执行的时候会从二级缓存里面获取,然后没有的话再去一级缓存获取,若还是没有找到则从数据库里面获取。由于不同的业务可能需要获取相同的数据,但是每个service层都有自己的sqlSession在完成后都会被关闭,但是使用了二级缓存后当sqlSession关闭或提交后二级缓存的数据都会被放置里面。等到有需要获取的时候,就可以先从二级缓存里面获取到,如果发现没获取到失效了可以从一级缓存、数据库依次获取。

相关文章
|
4月前
|
Java 数据库连接 Maven
后端框架学习-----mybatis(使用mybatis框架遇到的问题)
这篇文章总结了在使用MyBatis框架时可能遇到的几个常见问题及其解决方法,包括配置文件注册、接口绑定、方法名匹配、返回类型匹配、Maven资源导出、时区设置和字符编码问题。
|
1月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
持久层框架MyBatisPlus
43 1
持久层框架MyBatisPlus
|
2月前
|
缓存 Cloud Native 安全
探索阿里巴巴新型ORM框架:超越MybatisPlus?
【10月更文挑战第9天】在Java开发领域,Mybatis及其增强工具MybatisPlus长期占据着ORM(对象关系映射)技术的主导地位。然而,随着技术的发展,阿里巴巴集团推出了一种新型ORM框架,旨在提供更高效、更简洁的开发体验。本文将对这一新型ORM框架进行探索,分析其特性,并与MybatisPlus进行比较。
50 0
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
4月前
|
Java 数据库连接 mybatis
mybatis框架图
文章介绍了MyBatis框架的起源、发展和其作为持久层框架的功能,提供了MyBatis的框架图以帮助理解其结构和组件。
mybatis框架图
|
4月前
|
安全 Java 数据库连接
后端框架的学习----mybatis框架(3、配置解析)
这篇文章详细介绍了MyBatis框架的核心配置文件解析,包括环境配置、属性配置、类型别名设置、映射器注册以及SqlSessionFactory和SqlSession的生命周期和作用域管理。
后端框架的学习----mybatis框架(3、配置解析)
|
4月前
|
Java 数据库连接 mybatis
后端框架的学习----mybatis框架(9、多对一处理和一对多处理)
这篇文章介绍了在MyBatis框架中如何处理多对一和一对多的关联查询,通过定义`<resultMap>`和使用`<association>`与`<collection>`元素来实现对象间的关联映射。
|
4月前
|
Java 数据库连接 测试技术
后端框架的学习----mybatis框架(8、lombok)
这篇文章介绍了如何在MyBatis框架中使用lombok库来简化Java实体类的编写,包括在IDEA中安装Lombok插件、在项目中导入lombok依赖以及在实体类上使用Lombok提供的注解。
|
4月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
|
5月前
|
Java 数据库连接 Spring
搭建 spring boot + mybatis plus 项目框架并进行调试
搭建 spring boot + mybatis plus 项目框架并进行调试
102 4