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 = "select * from hero limit "
|
分页 | 分页 |
PageHelper插件 | ||
两种获取方式(get、load) | ||
两种Session方式 (open、getCurrent) |
||
N+1 | ||
乐观锁 | ||
数据库连接池 (原理涉及多线程) |
C3P30连接池 | C3P30连接池 |
注解 | 注解 | |
逆向工程 |