Mybatisplus和Mybtais的优缺点以及区别

时间:2025-04-11 19:19:50

Mybatis:

1.手动解析实体关系映射转换为MyBatis内部对象注入容器

所有的sql语句都需要程序员手动编写

不支持Lambda语句的使用

MybatisPlus:

层和service层继承并且封装了大部分简单的CRUD操作,通过少量的配置就可以直接实现CRUD操作

2.提供了简单的CRUD操作,不需要程序员手动的去编写sql语句

3.自动解析实体关系映射转换为MyBatis内部对象注入容器

4.支持Lambda语句的使用

通过的条件构造器可以实现复杂的业务需求

MyBatis的优缺点:

优点:

1.底层封装了JDBC和API的调用细节,并能够自动的把运行结果转换成java bean对象,这样子可以大大的减少了程序员对java数据库的重复操作

可以把sql语句的模块单独从java源项目中分离出来,并在xml文件中编写sql语句,这样子可以大大便利于程序的维护

3.由于Mybatis的所有的sql语句都是手动编写的,所以他根据不同的需求可以灵活的变通sql语句,所以他的查询效率很快

4.他提供各种动态sql标签,动态的关联多张表进行查询,是查询更加的方便

缺点:

1.由于每个需求需要手写sql语句,加重了程序员开发的负担

2.在xml中id必须是惟一的,否则导致DAO中方法不支持方法重载

MyabtisPlus的优点:

1.简单的单表查询的CRUD操作不需要手动去编写sql语句,可直接通过少量配置来调用方法实现

2.内置分页插件:基于 Mybatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List查询。

3.支持代码的生成,可通过代码来自动快速生成 Mapper 、 Model 、 Service 、 Controller 层代码

4.仅仅依赖 Mybatis 以及 Mybatis-Spring 

缺点:

1.如果要实现多表联查的业务需求,会比mybatis更加的复杂

2.项目引入第三方插件包,未来升级有一定的兼容性问题。