浅谈MyBatis,Jdbc,Hierbernate的区别

本文对比了JDBC、Hibernate与MyBatis三种数据库操作方式的特点与适用场景。JDBC提供底层数据库操作,适合追求极致性能的场景;Hibernate实现数据库表与Java对象的映射,适用于需要完整数据库控制的项目;MyBatis则允许手动编写SQL,适用于需要高度灵活和快速响应的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一。myBatis,jdbc. hiernate的区别
1.从层次上看,JDBC是较低层的操作方式,而hibernate 和mybatis都是咋JDBC的基础上进行了封装
使其更加方便的对持久层的操作
2.从更能看上,JDBC就是简单的数据库连接,然后创建statement,将sql语句传给statement
去执行,如果有返回的结果查询语句,会将查询结果放到ResultSet对象中,通过对ResultSet对象遍历操作获取的数据,
(2)hibernate将数据库中的数据表映射为持久层的java对象,实现数据表的完整控制,Mybatis是将sql语句中的输入参数和输出参数映射为java
对象,放弃的对数据表的完整控制,但是获得更灵活和响应性能更快的优势
3.从使用上看,如果进行底层的编程,而且对性能要就极高的话,采用JDBC的方式,如果进行数据库完成行控制的话建议使用hibernate
如果要灵活使用sql语句建议用mybatis
(-)mybatis和hibernate的区别
1.mybatis要根据响应的数据库实现不同的sql,mysql数据库和Oracle使用的分页语句有用不了,hibernate就可以,是根据实体类是属性进行操作,移植性好些
2.hibernate的sql查询,更新是对所有的字段进行操作,比如在做修该的时候,这一点会比较消耗性能,虽然也可以自己编写sql但是,破坏了hibernate开发的简洁性,
3.mybatis是手动编写,可以按照指定查询的字段

二。JDBC
1.操作执行;(1).注册驱动(2).编写sql(3).预编译  (通过Connection得到Statement)(4).设置参数(往Statement中添加参数)
5. 执行sql(通过Statement执行sql) (6),封装结果(通过ResultSet得到结果)
jdbc的优点;清楚 明白数据库所执行的操作
jdbc缺点:编写的工作量大,灵活性差,需要及时处理异常并正确的关闭数据源
(二)。hibernate,
1.读取配置文件完成ORM的映射关系2.获取session进行增删该差
优点:维护方便,数据库连接和Pojo的映射都写在xml文档中,
	操作方便,只需获取session就可以对数据库进行操作,关闭也只要关闭session
缺点:全映射会造成性能比较差,
         sql语句由于 是hibernate生成而造成sql的灵活性差,不方便定制高效的sql
	自带的hql语句性能较低
(三)。mybatis  
	1.半自动的执行方式,出sql外操作与框架完成,方便快捷
	2.手工定制sql,实现sql与java代码分离,灵活i性高,方便维护
	3.只需要sql进行操作,不需要学习额外的
	4.轻量级矿机爱,执行速度快;  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值