相同点:
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
面试题其实不一定详细为好,要尽量打出来自己的见解,口语化一点。这样不会让面试官觉得你是提前做好了准备的嘛。。。所以光说说 使用上的不同就差不多了。。。可以多看看楼上的那些答案,然后自己总结出适合自己的语气的答案罗。。。
Hibernate是一个基于JDBC的主流持久化框架,对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
hibernate使用Java反射机制,而不是字节码增强程序来实现透明性,如对数据库操作hibernate会直接返回一个对象或传入一个对象,而jdbc确实返回一个值或传入一个值。
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
丿灬岩