展开全部
JDBC是由Sun公司制定的一套访问数据库的规范,除了DriverManager外,其他的全是接口,接口的具体实现由数据库厂商去实现(所以用JDBC需要添加数据库驱动包,驱动包里面的类就是JDBC规范那些接口的实现类),这样,程序员用JDBC操作所有实现这个规范的数据库都是一样的方法,只是针对不同的数据库sql可能不同。
Hibernate的底层是由JDBC去实现的,是对JDBC的封装,用hibernate的HQL语句,就可以不用考虑数据库之间的差异,因为hibernate会根据配置文件里面的dialect(数据库方言)和ORM配置文件把HQL语句翻译成能适应当前数据库的sql语句,然后从底层用JDBC去执行(增加了上层的处理,所以效率比JDBC慢),并根据映射文件把相应字段的结果封装到对象的相应属性中。
ibatis也是一个持久层框架,也是对JDBC的封装,但是效率比hibernate略高,因为ibatis不是用框架去生成相应的sql,而是由程序员自己写sql,然后底层的JDBC去执行,并通过映射文件,将SQL所需的参数,以及返回的结果字段映射到指定 PO类,因为少了类似hibernate把HQL翻译成SQL的过程,所以ibatis效率比hibernate更高。
在大型的项目中,尤其是大数据量的地方,一般都不用hibernate,因为用hibernate是以牺牲效率为代价的(尤其是大批量处理的时候尤为明显),最近我做了一个大批量处理几百万条数据的功能,我直接绕过公司框架的API,直接从底层用JDBC去做,效率高了不少。
Hibernate的底层是由JDBC去实现的,是对JDBC的封装,用hibernate的HQL语句,就可以不用考虑数据库之间的差异,因为hibernate会根据配置文件里面的dialect(数据库方言)和ORM配置文件把HQL语句翻译成能适应当前数据库的sql语句,然后从底层用JDBC去执行(增加了上层的处理,所以效率比JDBC慢),并根据映射文件把相应字段的结果封装到对象的相应属性中。
ibatis也是一个持久层框架,也是对JDBC的封装,但是效率比hibernate略高,因为ibatis不是用框架去生成相应的sql,而是由程序员自己写sql,然后底层的JDBC去执行,并通过映射文件,将SQL所需的参数,以及返回的结果字段映射到指定 PO类,因为少了类似hibernate把HQL翻译成SQL的过程,所以ibatis效率比hibernate更高。
在大型的项目中,尤其是大数据量的地方,一般都不用hibernate,因为用hibernate是以牺牲效率为代价的(尤其是大批量处理的时候尤为明显),最近我做了一个大批量处理几百万条数据的功能,我直接绕过公司框架的API,直接从底层用JDBC去做,效率高了不少。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
jdbc是一套数据库访问标准,提供了一组接口,是JAVA语言访问数据库用到的东西
hibernate是一套ORM映射框架,提供以对象的方式访问数据,但底层还是要把对象映射为JDBC来访问的。
ibatis也是一套数据库访问框架,但它是把SQL语句给抽出来了,这样将来改语句的时候不用修改代码,底层也是JDBC
hibernate是一套ORM映射框架,提供以对象的方式访问数据,但底层还是要把对象映射为JDBC来访问的。
ibatis也是一套数据库访问框架,但它是把SQL语句给抽出来了,这样将来改语句的时候不用修改代码,底层也是JDBC
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-05
展开全部
jdbc 一切都在你的掌握中
hibernate ORM 框架, 用起来容易; 让你用 对象的方式思考问题
ibatis 也是 ORM 框架,但是对应的 SQL 语句要你自己定义
hibernate ORM 框架, 用起来容易; 让你用 对象的方式思考问题
ibatis 也是 ORM 框架,但是对应的 SQL 语句要你自己定义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
全手动、自动化、半自动化
jdbc什么都要自己弄,代码很多,sql语句自己写
Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。
ibatis 对业务逻辑实现人员而言,面对的是纯粹的 Java对象,这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。
jdbc什么都要自己弄,代码很多,sql语句自己写
Hibernate等提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。
ibatis 对业务逻辑实现人员而言,面对的是纯粹的 Java对象,这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询