mybatis框架-创新互联

(145条消息) 【2022最新版】MyBatis面试题总结(38道题含答案解析)_mybatis面试题2022_程序媛小琬的博客-博客

10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有寿宁免费网站建设让你可以放心的选择与我们合作。

(145条消息) MyBatis-Plus分页插件Page原理分析_酷爱编程的小猿同学的博客-博客_mybatisplus分页插件原理

文件的存储、数据的读取   等都是    数据持久化操作;

对表数据进行增删改查      的操作  就是数据持久化;

Mybatis高频面试题总结(2022最新) - 知乎 (zhihu.com)

Mybatis 是如何进行分页的?

Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内存分页,而非物理分页,先把数据都查出来,然后再做分页。

可以在 sql 内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。

(145条消息) Mybatis3 缓存收回策略(eviction)_清_澈的博客-博客_mybatis eviction

二级缓存

缓存的数据结构:

Mybatis的缓存实际上就是一个HashMap,key是真正执行的sql语句,value是缓存的结果。

  1. MyBatis在多表查询时,极大可能会出现脏数据,有设计上的缺陷,安全使用二级缓存的条件比较苛刻。
  2. 在分布式环境下,由于默认的MyBatis Cache实现都是基于本地的,分布式环境下必然会出现读取到脏数据,需要使用集中式缓存将MyBatis的Cache接口实现,有一定的开发成本,直接使用Redis、Memcached等分布式缓存可能成本更低,安全性也更高。

Mybatis框架简介
  • MyBatis框架是一个开源的    数据持久层框架。
  • 它的内部   封装了   通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。
  • MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件当中,实现SQL的灵活配置。
  • 这样做的好处是将SQL与程序代码分离,可以在不修改代码的情况下,直接在配置文件当中修改SQL。

什么是ORM?
  • ORM(Object/Relational Mapping)即对象关系映射,是一种   数据持久化技术。
  • 它在对象模型  和  关系型数据库  建立  对应关系,并且提供一种机制,
  • 通过JavaBean对象  操作  数据库表的数据。 MyBatis通过简单的XML或者注解的方式进行配置和原始映射,将实体类和SQL语句之间建立映射关系,是一种半自动(之所以说是半自动,因为我们要自己写SQL)的ORM实现。

Mybatis动态sql有什么用?执行原理?有哪些动态sql?
  • Mybatis动态sql可以在Xml映射文件内,以标签的形式编写动态sql,执行原理是根据表达式的值完成逻辑判断并动态拼接sql的功能。

#{}和${}的区别是什么?
  1. #{}是预编译处理  占位,${}是字符串替换  拼接。
  2. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
  3. Mybatis在处理${}时,就是把${}替换成变量的值。
  4. 使用#{}可以有效的防止SQL注入,提高系统安全性。
  5. 简单说,#{}是经过预编译的,是安全的;${}是未经过预编译的,仅仅是取变量的值,是非安全的,存在SQL注入。
当实体类中的属性名  和   表中的字段名不一样,怎么办?
  1. 第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致。
  2. 第2种: 通过 `` 来映射字段名和实体类属性名的一一对应的关系。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


名称栏目:mybatis框架-创新互联
分享地址:http://myzitong.com/article/ecojo.html