用户登录
用户注册

分享至

junit hibernate jdbc

  • 作者: 丿灬岩
  • 来源: 51数据库
  • 2021-01-01
相同点:
1 两者都是JAVA的数据库操作中间件。
2 两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。
3 两者都可以对数据库的更新操作进行显式的事务处理。

不同点:
1 使用的SQL语言不同:JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL(Hibernate query language)语言
2 操作的对象不同:JDBC操作的是数据,将数据通过SQL语句直接传送到数据库中执行,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。
3 数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。



  各有各的好处,其实hibernate就是对jdbc的封装,jdbc效率高,但操作麻烦,hibernate操作方便,但是效率比jdbc低。



  hibernate是基于jdbc的一种连接数据库的方法.. hibernate可以通过配置文件(*.xml)来配置连接的数据库和连接配置... 而jdbc则需要调用获得connection的方法来进行数据库的连接.. 两者之间的连接区别不是很大..只是如果你开发的项目需要经常更换数据库的话,相对于这样hibernate会比较好...因为他只需要修改一下配置文件就ok了...不过如果相对于jdbc的话..他就需要一个dao文件来连接,而且如果你更换了数据库..你就得一个一个dao文件来修改数据库的连接属性.. 所以,hibernate是属于快捷链接数据库的方法之一...



  hibernate和Jdbc?两个之间基本不是个级别的,hibernate包括了jdbc,jdbc是java用来连接,访问数据库的,hibernate需要封装jdbc才能运行。
jdbc连接数据库和hibernate大致相同,因为hibernate只是将配置信息写入到xml文件中,剩下连接数据库,访问数据库都要通过jdbc的。
hibernate是一个持久层框架,hibernate将表的信息映射到xml文件中,再从xml文件映射到相应的持久化类中,这样可以使用hibernate独特的查询语言hql了。而jdbc访问数据库是通过sql语句直接访问的。hibernate的hql查询语句返回的是List类,而jdbc通过statement返回的查询结果是ResultSet并且有时候需要自己封装到List中。
hibernate其重要区别在于hibernate具有访问层(DAO类层),该层是HQL查询语句唯一出现的位置,再往上层则不会出现查询语句,而jdbc可以随时连接随时访问,试想如果1000个类都有sql查询语句,如果表名变了是不是要全部重写1000个类的查询语句呢?hibernate只需要将DAO层的类变了就行了,上层毫无关系,对数据维护有重要作用。
再者,使用jdbc依然可以建立DAO层,但是却需要大量的代码支持,而hibernate自己就有,不用编写。
应该说全了吧。。。。




  面试题其实不一定详细为好,要尽量打出来自己的见解,口语化一点。这样不会让面试官觉得你是提前做好了准备的嘛。。。所以光说说 使用上的不同就差不多了。。。可以多看看楼上的那些答案,然后自己总结出适合自己的语气的答案罗。。。



  Hibernate是一个基于JDBC的主流持久化框架,对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
hibernate使用Java反射机制,而不是字节码增强程序来实现透明性,如对数据库操作hibernate会直接返回一个对象或传入一个对象,而jdbc确实返回一个值或传入一个值。
软件
前端设计
程序设计
Java相关