第 6-4 课:MyBatis 核心和面试题(上)

MyBatis 介绍

MyBatis 是一款优秀的 ORM(Object Relational Mapping,对象关系映射)框架,它可以通过对象和数据库之间的映射,将程序中的对象自动存储到数据库中。它是 Apache 提供的一个开源项目,之前的名字叫做 iBatis,2010 年迁移到了 Google Code,并且将名字改为我们现在所熟知的 MyBatis,又于 2013 年 11 月迁移到了 Github。

MyBatis 提供了普通 SQL 查询、事务、存储过程等功能,它的优缺点如下。

优点

  • 相比于 JDBC 需要编写的代码更少
  • 使用灵活,支持动态 SQL
  • 提供映射标签,支持对象与数据库的字段关系映射

缺点

  • SQL 语句依赖于数据库,数据库移植性差
  • SQL 语句编写工作量大,尤其在表、字段比较多的情况下

总体来说,MyBatis 是一个非常优秀和灵活的数据持久化框架,适用于需求多变的互联网项目,也是当前主流的 ORM 框架。

MyBatis 重要组件

MyBatis 中的重要组件如下:

  • Mapper 配置:用于组织具体的查询业务和映射数据库的字段关系,可以使用 XML 格式或 Java 注解格式来实现;
  • Mapper 接口:数据操作接口也就是通常说的 DAO 接口,要和 Mapper 配置文件中的方法一一对应;
  • Executor:MyBatis 中所有的 Mapper 语句的执行都是通过 Executor 执行的&#x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java LineNumberReader getLineNumber()方法及示例

LineNumberReader类的getLineNumber()方法 (LineNumberReader Class getLineNumber() method) getLineNumber() method is available in java.io package. getLineNumber()方法在java.io包中可用。 getLineNumber() method is used to return the present line number in this …

STM32——直流电机PI调速

所需元件 STM32F103开发板、L298N一个、带编码器的直流电机一个(如下图所示,淘宝上有很多) 系统框图 通过系统框图,我们需要做两件事,一是要测速,二是要调节。测速目前流行的就是通过编码器测速&#xff…

JAVA设计模式--简单介绍

2019独角兽企业重金招聘Python工程师标准>>> 一、简介 Design pattern 是众多软件开发人员经过漫长的试验和错误总结出来的在软件开发过程中面临一般问题的解决方案,代表着最佳实践。使用设计模式是为了重用代码、让代码更容易被他人理解、保…

简单函数

【【【2013-9-13】】】--模糊查询 关键字 like--与通配符联合使用(_任意一个字符;%任意长度的字符;转义字符/和关键字escape联用)select * from emp where job like %/%% escape /;select * from emp where comm is not null;com…

第 6-3 课:SpringBoot 核心 + 面试题

为什么要用 Spring Boot? Spring Boot 来自于 Spring 大家族,是 Spring 官方团队(Pivotal 团队)提供的全新框架,它的诞生解决了 Spring 框架使用较为繁琐的问题。Spring Boot 的核心思想是约定优于配置,让开发人员不需要配置任何 XML 文件,就可以像 Maven 整合 Jar 包一…

Java ObjectOutputStream writeDouble()方法与示例

ObjectOutputStream类writeDouble()方法 (ObjectOutputStream Class writeDouble() method) writeDouble() method is available in java.io package. java.io包中提供了writeDouble()方法 。 writeDouble() method is used to write the given 8 bytes (i.e. 64 bit) double v…

为什么是PID控制

在进入正式话题之前需要引入四个概念:稳态误差、终值定理、幅角条件和系统稳定的充要条件。 稳态误差:系统达到稳定状态后,系统的实际输出量与系统希望的输出量之间的偏差。 终值定理:设有连续函数f(t)f(t)f(t),当t趋于…

WinForm C#全局错误捕捉处理【整理】

1 static class Program2 {3 /// <summary>4 /// 应用程序的主入口点。5 /// </summary>6 [STAThread]7 static void Main()8 {9 try 10 { 11 12 //添加事件处理…

第 6-6 课:消息队列面试题汇总

1.消息队列的应用场景有哪些? 答:消息队列的应用场景如下。 应用解耦,比如,用户下单后,订单系统需要通知库存系统,假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。订单系统与库存系统耦合,这个时候如果使用消息队列,可以返回给用户成功,先把消息持久化…

在新建FileInputStream时使用当前相对路径或者绝对路径作为参数的问题

当new一个FileInputStream时&#xff0c;想使用相对路径这样无论我的服务端部署到哪里&#xff0c;都可以一直用一个文件夹而不必修改程序的路径代码&#xff0c;当然首先我用的绝对路径来做实验&#xff0c;保证能够成功通信&#xff0c;使用绝对路径时要注意路径的分隔符可以…

卡尔曼滤波器推导

注&#xff1a;受控制领域大牛CAN博士启发&#xff0c;受益匪浅&#xff0c;作此文以为笔记。 简介 设 卡尔曼滤波器是从测量值ZZZk的平均数开始的。开始推导&#xff1a; 由上式可知   也就是说随着kkk的增大&#xff0c;测量结果Zk不在重要&#xff0c;因为已经获得了足…

第 6-7 课:Java 分布式框架面试题合集

1.什么是 ZooKeeper? 答:ZooKeeper 是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性解决方案。设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的系统,并以一系列简单易用的原子操作提供给用户使用。 2.ZooKeeper 提供了…

Oracle date 插入显示公元前日期

显示公元前日期很简单&#xff1a;--先创建一个表 create table test (d date);--插入一条记录 --插入的日期要注意 --1、“ - ”&#xff08;负号&#xff09; 表示公元前 --2、“ s ” 格式控制符 insert into test values(to_date(-2000-12-2, syyyy-mm-dd));--查询一下 --要…

cocos2dx3.2文件结构和代码结构

既然选定了cocos2dxlua的原生方式来开发&#xff0c;首先要确定的是使用哪个版本的cocos2dx&#xff0c;先看看github上的changelog和releasenote&#xff0c;然后在google里搜索一下&#xff0c;参考了jacky的博客http://zengrong.net/post/2100.htm&#xff0c;最终选择了coc…

java 方法 示例_Java集合的lastlastIndexOfSubList()方法和示例

java 方法 示例集合类lastIndexOfSubList()方法 (Collections Class lastIndexOfSubList() method) lastIndexOfSubList() method is available in java.util package. lastIndexOfSubList()方法在java.util包中可用。 lastIndexOfSubList() method is used to return the star…

Redis 面试题汇总

1.Redis 使用场景有哪些? 答:Redis 使用场景如下: 记录帖子点赞数、点击数、评论数缓存近期热帖缓存文章详情信息记录用户会话信息2.Redis 有哪些功能? 答:Redis 功能如下: 数据缓存功能分布式锁的功能支持数据持久化支持事务支持消息队列3.Redis 支持哪些数据类型? …

改进的PID算法

位置式PID算法 位置式PIDPIDPID算法是一种比较直观的的PIDPIDPID算法&#xff0c;如系统框图中所示&#xff0c;ininin表示设定值&#xff0c;errorerrorerror表示差值&#xff0c;uuu表示控制器输出值&#xff0c;outoutout表示被控量。算法表达式如下&#xff1a; 增量式PI…

奇怪的排序

P6: 奇怪的排序 Description: 春秋战国时期&#xff0c;赵国地大物博&#xff0c;资源非常丰富&#xff0c;人民安居乐业。但许多国家对它虎视眈眈&#xff0c;准备联合起来对赵国发起一场战争。 显然&#xff0c;面对多个国家的部队去作战&#xff0c;赵国的兵力明显处于劣势。…

Oracle 练习题P256

--根据Oracle数据库scott模式下的emp表和dept表&#xff0c;完成下列操作。--&#xff08;1&#xff09;查询20号部门的所有员工信息select * from emp where deptno 20;--&#xff08;2&#xff09;查询所有工种为CLERK的员工的员工号、员工名和部门号select empno,ename,dep…

oracle中dbms_如何在DBMS中找到关系的最高范式?

oracle中dbmsTo find the highest normal form of a relation, you have to first understand the basics of Functional dependency, Candidate keys, and Normal Forms. 要查找关系的最高范式 &#xff0c;您必须首先了解功能依赖项 &#xff0c;候选键和范式的基础。 In re…