返回顶部
首页 > 资讯 > 后端开发 > Python >关于Mybatis与JPA的优缺点说明
  • 600
分享到

关于Mybatis与JPA的优缺点说明

2024-04-02 19:04:59 600人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录mybatis与JPA的优缺点JPA java持久层apiJPA优势Mybatis优点Mybatis缺点JPA与Mybatis的区别JPA就是把mapper层的接口换成repos

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层,其他都一样的

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

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

mapper层

自己写sql语句

JPA的repository

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

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 关于Mybatis与JPA的优缺点说明

本文链接: https://lsjlt.com/news/151068.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作