浅谈MyBatis,Jdbc,Hierbernate的区别

一。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.轻量级矿机爱,执行速度快;  

猜你喜欢

转载自blog.csdn.net/qq_43049310/article/details/84875883