关于Mybatis与JPA的优缺点说明

作者:春风化作秋雨 时间:2023-08-23 22:28:33 

Mybatis与JPA的优缺点

JPA java持久层API

可理解为一种规范,Hibernate就是其具体一个实现。它的实现应用是Spring DataJpa,Spring提供了一套简化开发框架,按照约定好的方法命名规则,编写dao层接口,即可在不编写实现情况下执行数据库操作,还提供了除CRUD以外的功能,比如分页、排序、复杂查询等。SpringDataJpa可以理解为对JPA的再次封装,底层仍旧是Hibernate。

JPA优势

1、JPA可移植性好,支持Hibernate方言。

2、提供单表CRUD方法,减少sql语句的编写,开发效率高,。

3、面向对象开发思想,对象化程度更高。

Mybatis优点

1、自己编写SQL语句,更灵活、性能较高。

2、SQL语句与代码相互分离,易于阅读和维护。

3、提供XML标签#{}、${}、 <if test=""></if>等,支持拼写动态SQL语句。

Mybatis缺点

1、单表的CRUD操作需要编写SQL语句,库表字段的新增修改删除,都要重新维护。

2、XML中有大量SQL需维护;参数变更来回切换修改。

3、Mybatis功能有限。 

JPA与Mybatis的区别

其实JPA和mybatis大体上没什么区别,架构上很相似,mybatis就是mapper层,JPA就是repository层,其他都一样的

关于Mybatis与JPA的优缺点说明

JPA就是把mapper层的接口换成repository的接口

那么接口具体长什么样呢?

mapper层

自己写sql语句

关于Mybatis与JPA的优缺点说明

JPA的repository

没有具体sql语句,看起来没有实现一样,但其实是遵循规则的实现,你只要写 findByXxx(Xxx xx) 就能根据某个键自动实现数据库查询,当然其他的语句也是可以实现的。

关于Mybatis与JPA的优缺点说明

如果你觉得不灵活,也可以自己写,例如

关于Mybatis与JPA的优缺点说明

最后的nativeQuery一定加上,不然会报错。

来源:https://adong.blog.csdn.net/article/details/122146606

标签:Mybatis,JPA,优缺点
0
投稿

猜你喜欢

  • Android使用ShareSDK实现应用分享的功能

    2023-10-02 06:37:42
  • MyBatis使用动态表或列代码解析

    2023-06-13 07:57:40
  • Java设计模式之观察者模式_动力节点Java学院整理

    2022-01-14 12:27:47
  • IDEA基于支付宝小程序搭建springboot项目的详细步骤

    2021-10-30 22:44:46
  • Android APK文件在电脑(PC虚拟机)上面运行方法

    2023-10-05 08:44:06
  • android 版本检测 Android程序的版本检测与更新实现介绍

    2022-12-02 11:27:41
  • Asp.Net中MVC缓存详解

    2023-06-08 13:44:45
  • 关于AndroidStudio R文件莫名其妙缺失的快速解决方法

    2023-02-24 21:59:06
  • Android LineChart绘制折线图的示例详解

    2022-10-15 22:43:37
  • C# Dynamic关键字之:调用属性、方法、字段的实现方法

    2022-09-22 04:23:39
  • Spring中事务传播行为的介绍

    2023-06-24 01:21:01
  • 基于java实现简单发红包功能

    2023-08-09 17:06:40
  • Sonar编译问题对应:File [...] can't be indexed twice.

    2023-11-25 11:07:28
  • Java自定义注解用法实例小结

    2023-03-26 09:13:51
  • Android Studio设置主题与字体大小图文教程

    2023-05-25 15:54:10
  • 如何将javaweb项目部署到linux下

    2023-11-11 11:45:11
  • Android 8.0系统中通知栏的适配微技巧

    2022-01-30 17:12:43
  • IntelliJ IDEA像Eclipse一样打开多个项目的图文教程

    2022-03-14 05:31:40
  • C#如何给枚举类型增加一个描述特性详解

    2022-08-17 15:02:43
  • Android底部菜单简单应用

    2022-03-25 18:09:58
  • asp之家 软件编程 m.aspxhome.com