概述
简介
1、基于 Java 的持久层框架
(1)SQLMaps
(2)Data Access Objects(DAO)
2、特性
(1)支持定制化SQL、存储过程、高级映射
(2)避免几乎所有的 JDBC 代码、手动设置参数、获取结果集
(3)可以使用简单 XML / 注解,用于配置和原始映射,将接口和 Java 的 POJO 映射成数据库中的记录
(4)一个半自动的 ORM(Object Relational Mapping)框架
持久化层技术
1、JDBC
(1)SQL 在 Java 代码中耦合度高
(2)不易维护,且实际开发需求中 SQL 有频繁修改的情况
(3)代码冗长,开发效率低
2、Hibernate、JPA
(1)操作简便,开发效率高
(2)程序中的长难复杂 SQL 需要绕过框架
(3)内部自动生产 SQL,不容易做特殊优化
(4)基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难
(5)反射操作太多,导致数据库性能下降
3、MyBatis
(1)轻量级,性能出色
(2)SQL 和 Java 编码分开,功能边界清晰:Java 代码专注业务,SQL 语句专注数据
(3)开发效率略低于 Hiberate