mybatis与hibernate区别

简介: mybatis与hibernate区别

Hibernate:hibernate是一个标准的ORM框架,不需要写sql语句,维护关系比较复杂,sql语句自动生成,对sql语句优化,修改比较困难。


Hibernate的优缺点:


优点:面向对象开发,不需要自己写sql语句。如果进行数据库迁移不需要修改sql语句,只需要修改一下方言。


缺点:hibernate维护数据表关系比较复杂。完全是有hibernate来管理数据表的关系,对于我们来说完全是透明的,不易维护。


Hibernate自动生成sql语句,生成sql语句比较复杂,比较难挑错。


Hibernate由于是面向对象开发,不能开发比较复杂的业务。


应用场景:


适合需求变化较少的项目,比如ERP,CRM等等


Mybatis框架对jdbc框架进行封装,屏蔽了jdbc的缺点,开发简单。


Mybatis只需要程序员关注sql本身,不需要过多的关注业务。对sql的优化,修改比较容易


适应场景:


适合需求变化多端的项目,比如:互联网项目



mybatis与hibernate重要区别

企业开发进行技术选型 ,考虑mybatis与hibernate适用场景。



mybatis:入门简单,程序容易上手开发,节省开发成本 。mybatis需要程序员自己编写sql语句,是一个不完全 的ORM框架,对sql修改和优化非常容易实现 。


mybatis适合开发需求变更频繁的系统,比如:互联网项目。



hibernate:入门门槛高,如果用hibernate写出高性能的程序不容易实现。hibernate不用写sql语句,是一个 ORM框架。


hibernate适合需求固定,对象数据模型稳定,中小型项目,比如:企业OA系统


相关文章
|
2月前
|
SQL 安全 Java
MyBatis(6)#{}和${}的区别
在MyBatis中,`#{}`和`${}`是用于在SQL语句中嵌入参数的两种方式。`#{}`用于预处理参数,可以防止SQL注入;而`${}`进行直接字符串替换,适用于动态插入表名或列名,但存在SQL注入风险。建议优先使用`#{}`,并在必要时谨慎使用`${}`。
|
4月前
|
SQL XML Java
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
5月前
|
SQL Java 数据库连接
MyBatis 和 Hibernate 有什么区别?
【8月更文挑战第21天】
85 0
|
5月前
|
Java 数据库连接 数据库
Spring Data JPA 与 Hibernate 之区别
【8月更文挑战第21天】
119 0
|
5月前
|
SQL Java 数据库连接
Hibernate 和 JPA 有什么区别?
【8月更文挑战第21天】
371 0
|
5月前
|
SQL Java 数据库连接
|
5月前
|
Java 数据库连接 数据库
|
5月前
|
Java 数据库连接 数据库
|
5月前
|
Java 数据库连接 API
|
5月前
|
SQL Java 数据库连接