mybatis自动生成的insert语句有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis自动生成的insert语句有啥区别相关的知识,希望对你有一定的参考价值。

参考技术A 主键是自动赋值在对象中的。
比如对象User,属性id为主键,name,age
User
user
=
new
User();
user.setName("test");
user.setAge(16);
调用mybatis的insert(user);返回值是1,该条记录的主键通过user.getId();即可获龋

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系统

以上是关于mybatis自动生成的insert语句有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

mybatis insert 返回主键 的before 和after的区别

MyBatis 这小子是怎样拿到 insert 时生成的主键的?

mybatis执行insert后马上能获取自增主键的语句写法

MySQL 中的 INSERT 和 UPDATE 有啥区别?

sql 数据库中 添加语句 insert 中的 into 有与无都有啥区别?

springboot整合mybatis使用xml实现sql语句的配置,在insert之后返回自增id