Jdbc ,Mybatis和hibernate

Jdbc Mybatishibernate

jdbc的缺点:

  一:工作量比较大,需要连接,然后处理jdbc底层事务,处理数据类型,还需要操作ConnectionStatement对象和ResultSet对象去拿数据并关闭他们。

   二:我们对jdbc编程可能产生的异常进行捕捉处理并正确关闭资源

Hibernate好处

  1,消除了代码的映射规则,它全部分离到了xml或者注解里面去配置。

    2,无需在管理数据库连接,它也配置到xml里面了。

    3,一个会话中不需要操作多个对象,只需要操作Session对象。

    4,关闭资源只需要关闭一个Session便可。

 Hibernate的缺点:

    1,全表映射带来的不便,比如更新时需要发送所有的字段。

    2,无法根据不同的条件组装不同的SQL

    3,对多表关联和复杂的sql查询支持较差,需要自己写sql,返回后,需要自己将数据封装为pojo

    4,不能有效的支持存储过程。

5,虽然有HQL,但是性能较差,大型互联网系统往往需要优化sql,而hibernate做不到。

 

mybatis

灵活,可以动态生成映射关系

它需要手工匹配提供POJOsql和映射关系,而全表映射的Hibernate只需要提供pojo和映射关系即可

区别:

1)从层次上看,JDBC是较底层的持久层操作方式,而HibernateMyBatis都是在JDBC的基础上进行了封装。

2)从功能上看,JDBC就是简单的建立数据库连接,然后创建statement,将sql语句传给statement去执行,如果是有返回结果的查询语句,会将查询结果放到ResultSet对象中,通过对ResultSet对象的遍历操作来获取数据;Hibernate是将数据库中的数据表映射为持久层的Java对象,对sql语句进行修改和优化比较困难;MyBatis是将sql语句中的输入参数和输出参数映射为java对象,sql修改和优化比较方便.

3)从使用上看,如果进行底层编程,而且对性能要求极高的话,应该采用JDBC的方式;如果要对数据库进行完整性控制的话建议使用Hibernate;如果要灵活使用sql语句的话建议采用MyBatis框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值