存储层技术: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 )

对象和关系数据库的映射

一个对象,对应数据库里的一条记录

   

DAOData Access Object

数据访问对象

把数据库相关的操作都封装在这个类里面,

其他地方看不到JDBC的代码

   
  延迟加载 延迟加载
  级联  
  缓存(一级、二级) 缓存(一级、二级)

 分页

String sql =
 "select * from hero limit "
+start + "," + count;

 

分页 分页
    PageHelper插件
  两种获取方式(get、load)  
 

两种Session方式

(open、getCurrent)

 
  N+1  
  乐观锁  

数据库连接池

(原理涉及多线程)

C3P30连接池 C3P30连接池
  注解 注解
    逆向工程
原文地址:https://www.cnblogs.com/Strugglinggirl/p/12906456.html