存储层技术: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.内存.硬盘三者之间的关系 前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑 ...
随机推荐
- Android xUtils3.0使用手册(二) - 数据库操作
步骤: (1). 创建数据表: (2). DaoConfig 获取数据库的配置信息: (3). 获取数据库实例: x.getDb(daoConfig); (4). 数据库的增删改查. 1. 创建 ...
- java 之 构造器 static关键字
构造器 特点: 方法名和类名一至,没有void没有返回,无参数的称为无参构造器,有参数的称为有参构造器 语法: public 类名 {数据类型 参数名} 目的:创建对象 注意:如果类中没有带有参数的 ...
- 每天认识几个HTTP 响应码
HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成. 1xx信息响应 1xx 的响应结果表明接收的请求正在处理 2xx成功响应 2XX 的响应结果表明请求被正常处理了 3xx重定向 3xx ...
- Django入门4: ORM 数据库操作
大纲 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 2.创建数据库 表结构 二.Django ORM基本增删改查 1.表数据增删改查 2.表结构修改 三.Django ORM 字段 ...
- Openstack HA集群5-Keystone HA
# yum install -y openstack-keystone httpd mod_wsgi # mysql -u root -p -e "CREATE DATABASE keyst ...
- JDK 配置环境变量
1.配置环境变量 右击 我的电脑 --> 属性 --> 高级系统设置 --> 高级 --> 环境变量 在系统变量里新建 JAVA_HOME 变量,变量值如下 D:\work_s ...
- 如何对Code Review的评论进行分级
我曾写过一篇关于Code Review的文章<Code Review 最佳实践>,在文章中建议对Code Review的评论进行分级: 建议可以对Review的评论进行分级,不同级别的结果 ...
- 消息队列,RabbitMQ、Kafka、RocketMQ
目录 1.消息列队概述 1.1消息队列MQ 1.2AMQP和JMS 1.2.1AMQP 1.2.2JMS 1.2.3AMOP 与 JMS 区别 1.3消息队列产品 1.3.1 Kafka 1.3.2 ...
- thinkphp-getshell Bypass
年前写的了,做测试用,主要利用 session getshell 或者thinkphp 的log //勿用attack 测试 import requests import time import ...
- js怎么删除数组元素,有哪些删除元素方法
JavaScript删除元素方法 1.根据索引删除数组元素 delete 数组[索引] *注意delete 后面是空格 var arr1=["aa","bb" ...