存储层技术: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.内存.硬盘三者之间的关系 前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑 ...
随机推荐
- mac OS 配置Apache服务器
Mac自带了Apache环境 查看Apache版本 sudo apachectl -v 在终端输入:sudo apachectl start 在浏览器输入"http://localhost& ...
- php-fpm7 启动脚本
[root@bbs init.d]$ cat php-fpm7 #!/bin/sh # DateTime:20170918 # Source function library. . /etc/rc.d ...
- [USACO1.3]虫洞wormhole
题目描述 农夫约翰爱好在周末进行高能物理实验的结果却适得其反,导致N个虫洞在农场上(2<=N<=12,n是偶数),每个在农场二维地图的一个不同点. 根据他的计算,约翰知道他的虫洞将形成 N ...
- 2019 ICPC 银川网络赛 F-Moving On (卡Cache)
Firdaws and Fatinah are living in a country with nn cities, numbered from 11 to nn. Each city has a ...
- P4720【模板】扩展卢卡斯,P2183 礼物
扩展卢卡斯定理 最近光做模板了 想了解卢卡斯定理的去这里,那题也有我的题解 然而这题和卢卡斯定理并没有太大关系(雾 但是,首先要会的是中国剩余定理和exgcd 卢卡斯定理用于求\(n,m\)大,但模数 ...
- CtsSecurityTestCases#ListeningPortsTest定位tcp端口与pid
CtsSecurityTestCases#ListeningPortsTest定位tcp端口与pid [问题描述] cts失败项 armeabi-v7a CtsSecurityTestCases an ...
- Spring Cloud Alibaba系列(一)nacos作为服务注册中心
Spring Cloud Alibaba各组件版本关系 Spring Cloud Alibaba Version Sentinel Version Nacos Version RocketMQ Ver ...
- oracle常用字符函数
字符函数: concat:(字符连接函数) --字符连接 select concat('con','cat') from dual; select 'co'||'nc'||'at' from dual ...
- Ubuntu系统make menuconfig的依赖包ncurses安装
Linux内核或者u-boot进行make menuconfig的时候,如果系统上没有安装ncurses,就会出现以下报错 *** Unable to find the ncurses librari ...
- Android 8.1 关机充电动画(二)Uboot模式
system:Android 8.1 platform:RK3326/PX30 uboot kernel Android 8.1 关机充电动画(一)模式选择 Android 8.1 关机充电动画(二) ...