存储层技术:JDBC、Hibernate、Mybatis三者之间的比较学习
| JDBC | Hibernate | Mybatis |
|
(Java DataBase Connnection) 是通过JAVA访问数据库 |
对JDBC的轻量封装 像操作对象操作数据库 |
对SQL的轻量封装 是ORM框架 前身(ibatis) |
| 导入mysql包 | 项目结构 | 项目结构 |
| CRUD | CRUD | CRUD |
|
查询 executeQuery 执行SQL查询语句 |
查询 | 查询 |
|
特殊操作 (获取自增长id) 通过Statement的getGeneratedKeys 获取该id (获取表的元数据) |
查询总数 | 查询总数 |
|
预编译Statement (PreparedStatement) JAVA里唯二的基1的地方 ResultSet也是基1的 |
||
|
execute executeUpdate (都可以执行增加,删除,修改) executeUpdate返回的是int, 表示有多少条数据受到了影响。 execute返回boolean类型, true表示执行的是查询语句, false表示执行的是 insert,delete,update等等 |
||
| 关系(三种) | 关系(三种) | |
| 动态SQL | ||
| 日志 | ||
|
事务 处于同一个事务当中,要么都成功, 要么都失败 |
事务 | 事务 |
|
ORM(Object Relationship Database Mapping ) 对象和关系数据库的映射 一个对象,对应数据库里的一条记录 |
||
|
DAO(Data Access Object) 数据访问对象 把数据库相关的操作都封装在这个类里面, 其他地方看不到JDBC的代码 |
||
| 延迟加载 | 延迟加载 | |
| 级联 | ||
| 缓存(一级、二级) | 缓存(一级、二级) | |
|
分页 String sql =
|
分页 | 分页 |
| PageHelper插件 | ||
| 两种获取方式(get、load) | ||
|
两种Session方式 (open、getCurrent) |
||
| N+1 | ||
| 乐观锁 | ||
|
数据库连接池 (原理涉及多线程) |
C3P30连接池 | C3P30连接池 |
| 注解 | 注解 | |
| 逆向工程 |
存储层技术:JDBC、Hibernate、Mybatis三者之间的比较学习的更多相关文章
- jdbc hibernate myBatis比较
jdbc hibernate myBatis比较 jdbc 优点:性能高,易掌握 缺点:代码繁琐 hibernate 优点:不用写sql,代码简洁 缺点:性能不好 自动生成的sql效率低下(复杂业务) ...
- jpa,jdbc,hibernate/mybatis,数据库驱动
JPA是规范,hibernate/mybatis是对规范的实现,hibernate/mybatis是对jdbc的封装,也就是说hibernate/mybatis还是会调用jdbc. 我们平时使用 ...
- spring data jpa hibernate jpa 三者之间的关系
JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架——因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服 ...
- 控制层技术:Servlet+reflection、Struts2、Spring MVC三者之间的比较学习
Servlet Struts2 Spring MVC 处理用户提交的数据 基于MVC设计模式的Web应用程序 是一个框架 是MVC框架 导入servlet包,配置web.xml文件 web.xml & ...
- 模板技术:JSP、Thymeleaf之间的比较学习
JSP Thymeleaf 可以写java代码的html JSP的替代品 执行过程 页面元素 include 跳转 cookie session 作用域 隐式对象 JS ...
- 转:spring data jpa、 hibernate、 jpa 三者之间的关系
原文链接:spring data jpa. hibernate. jpa 三者之间的关系 spring data jpa hibernate jpa 三者之间的关系 JPA规范与ORM框架之间的关系是 ...
- Kafka技术内幕 读书笔记之(六) 存储层——服务端处理读写请求、分区与副本
如下图中分区到 日 志的虚线表示 : 业务逻辑层的一个分区对应物理存储层的一个日志 . 消息集到数据文件的虚线表示 : 客户端发送的消息集最终会写入日志分段对应的数据文件,存储到Kafka的消息代理节 ...
- jdbc、Mybatis、Hibernate介绍(非原创)
文章大纲 一.jdbc介绍二.Mybatis介绍三.Hibernate介绍四.jdbc.Mybatis.Hibernate比较五.参考文章 一.jdbc介绍 1. jdbc编程步骤 (1)加载数据 ...
- 网络互联技术(2)——前篇—【转载】电脑结构和CPU、内存、硬盘三者之间的关系
原文链接:传送门 详细内容: 电脑结构和CPU.内存.硬盘三者之间的关系 前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑 ...
随机推荐
- js中的this指针的用法
首先看下面代码: function funcA() { this.name = "hello"; console.log(this.name); this.show = funct ...
- CloudCC CRM探讨:精细流程管理与员工悟性培养
很多企业主招聘时更喜欢专业的销售,来给他们创造价值.老板不愿意花时间在"磨刀上",而喜欢员工一来就"砍柴".即使是建立培训机制,仍然很大程度依赖于员工自己的悟性 ...
- INTERVIEW #0
一.造成网络延迟的可能原因 1,WiFi所有用户上下行流量共用一个信道,当用户太多或者有人在下载大的资源时带宽不够,丢包: 2,线路质量不佳导致信噪比太低,比如光纤损耗太大等. 二.IPv6优势 1, ...
- unittest(生成 HTMLTestRunner 模块)
一:生成 HTMLTestRunner 模块 unittest 里面是不能生成 html 格式报告的,需要导入一个第三方的模块:HTMLTestRunner 方法1.这个模块下载不能通过 pip 安装 ...
- 自动化API之一 生成开源ERP Odoo App 的RestFul API
1.在服务器上安装开源ERP Odoo 安装步骤请自行百度,本文重点不在于指导安装,以下是安装后PC端效果. Odoo: 2.在Uniconnector平台上注册Odoo App 移动端应用 3.配置 ...
- Redis集群搭建的三种方式
一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...
- 常用设计模式的实现,以及Netty中的设计模式
1.观察者模式 有两个角色,观察者和被观察者.当被观察者发出消息后,注册了的观察者会收到其消息,而没有注册的观察者就不会收到. //定义观察者接口 interface Observer{ //通知观察 ...
- NLP(二十九)一步一步,理解Self-Attention
本文大部分内容翻译自Illustrated Self-Attention, Step-by-step guide to self-attention with illustrations and ...
- mybatis添加信息自动生成主键
一.使用Oracle数据库 举例:添加员工的时候自动生成主键 1.在dao接口中声明方法 2.在mapper中实现该方法 需要先在数据表中创建序列 3.测试 注意:在调用过save方法之后,emp对象 ...
- .Net Core WPF之XAML概述
原文链接,机器翻译,有误处参看原文. XAML overview in WPF 2019/08/08 What is XAML XAML syntax in brief Case and white ...