Hibernate估计大家已经用过很多年了吧,好多同学说用过Hibernate,不需要你来讲,但再仔细想想,你能告诉我Hibernate是什么吗?
今天带大家重新认识一下你认识的Hibernate。
1/6
Hibernate 概述:JDBC面临的一些问题
首选写过JAVA JDBC 的同学大家是不是都会遇到类似这些问题。
繁重的代码问题
String sql = "insert into t_test values(null,?)";
PreparedStatement stmt = con.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
stmt.setString(1, "ss");stmt.executeUpdate();
多表连接的问题
多表查询的复杂的SQL语句难于维护,要求有很好的JDBC编码能力
多表连接的问题
多表连接要牵扯到级联操作的相关问题。使用JDBC,编写和维护代码非常不便。使程序员要分很大的经理在JDBC编码上,而真正关心业务的精力就降低了。
层与层之间的耦合严重
性能问题
在数据量不大的情况下,JDBC的效率要高于Hiberbate,但是在大数据量的情况下,Hibernate的效率远远的高于JDBC
1/6
Hibernate 概述:ORM意义
ORM是对象到关系的映射,它把对表的直接操作变成对持久化类的属性和方法的直接操作。ORM层作为分层体系中的持久层。使用ORM可以简化对数据库的操作,ORM技术可以极大的提高开发效率和开发时间,同时在开发质量上更容易得到保证
1/6
Hibernate 概述:Hibernate 是什么?
开源的持久层框架,对象-关系映射(O/R Mapping)解决方案
1、开源和免开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。
2、轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。
3、具有可扩展性,API开放当本身功能不够用的时候,可以自己遍码进行展。
4、开发者活跃,产品有稳定的发展保障。
5、透明的持久化过程(使用实体域对象,JAVABEAN/POJO-简单古老的java对象)。
6、自动检查脏数据
7、可以动态的生成SQL语句
1/6
Hibernate 概述:Hibernate 优点
提高生产率(Productivity)
可维护性(Maintainability)
更好性能(Performance)
厂商独立性(Vendor independence)
1/6
Hibernate 概述:Hibernate 原理