2016 - 2024

感恩一路有你

用jpa多还是mybatis多 SpringData JPA也能写sql,为什么还要用mybatis?

浏览量:1840 时间:2021-03-11 03:43:42 作者:admin

SpringData JPA也能写sql,为什么还要用mybatis?

在头条上问这个问题真是太醉了。。顺便说一句,胡说八道太多了。

国内设计理念为表驱动。总之,逻辑是由数据表决定的,实现是由模型来完成的。事实上,这与面向对象的思想截然相反。大多数工程师手中所谓的mybatis的灵活性是,他们不需要考虑如何设计模型。”不管怎样,我可以用原生SQL来解决这个问题。模型设计太差了,只能靠SQL来修正。JPA是完全对象驱动的思想。早期设计的缺陷会制约后续的开发,不同的数据库可以用不同的方式实现(事实上,即使redis也是一样的)。回答一些常见的问题。

1. JPA表的连接行为具有不确定性和难以控制性。

您确定使用了spring数据JPA吗?不知道有实体图吗?当一个傻瓜达到这个水平时,他能做什么。

2. JPA子查询不容易实现。

我想你没用过,是吗?spring数据JPA的子查询不仅可以单独定义视图,还可以进行子查询,甚至可以直接使用jpql。

3. JPA不容易优化。

我真的不相信99%的优化能超过spring data JPA的优化。特别是,普通程序员能否停止谈论优化?他们甚至搞不懂MySQL的锁。表设计就像一堆废话,他们仍然每天使用原生SQL。你觉得他们很棒吗?JPA可以将表属性反映到对象。当然,运行时优化是有基础的。ORM的发展空间太大了。任何有点技术知识的人都知道ORM将拥有越来越多的优势。有一点经验的程序员都知道,在谈论其他人之前,是时候先谈论良好的维护了。解决性能问题的方法太多了。

最后,难道你不知道ORM cqrs现在是提倡的吗?请问,有没有什么复杂的问题没有原生SQL的介入是无法解决的。

现在流行的前后端分离项目都使用的是什么前后端框架?

开发框架主要分为三个部分:前端、web和持久性,可以自由组合。我单独谈。

在过去,有struts 1、struts 2和spring MVC for java web framework。

目前,只有一个选择:SpringMVC,其他人都不能玩。无论是玩耍、高格、火花还是Struts2。springmvc在用户数量和生态方面与springmvc不一样。

不管其他框架宣传得多好,都不建议投入大量精力。学习框架的设计思路还可以。请直接在生产环境中使用springmvc。spring的基础设施无法与其他框架相比。弹簧靴可用于快速开发。POM可以依赖于enable注释直接使用。

目前,有两种主流的JPA和mybatis。

如果项目是数据建模,请使用mybatis;如果项目是对象建模,请使用JPA。

春天来了。springboot的spring数据子项目应该希望将两者统一起来。不仅两者,而且其野心更大。它希望统一所有持久性层。DB、redis和elastic search都有相应的项目。它希望将所有持久性操作抽象为存储库操作。如果成功,业务逻辑就不需要关心持久层的选择,交换框架也非常方便。

目前,前端框架有三个选项:react、Ag和Vue。

我不喜欢react….的语法。。。。

似乎Ag在中国的知名度不高,所以我们不太关注。

最后的选择是Vue,它简单快速。支持的UI库也比较完善。

如果您想在项目中开发小型程序,建议使用Vue。语法高度一致。你将一眼就知道如何开发小程序。

什么是JPA?

JPA的全称是java持久性美国石油学会.JPA采用jdk5.0注解或XML描述对象与关系表之间的映射关系,并将运行的实体对象持久化到数据库中。JPA包括以下三种技术:1。ORM映射元数据。JPA支持XML和jdk5.0注释作为元数据的两种形式。元数据描述了对象和表之间的映射关系,框架可以相应地将实体对象持久化到数据库表中;

2。应用程序编程接口。它用于操作实体对象和执行CRUD操作。这个框架在后台为我们完成了一切。开发人员可以从冗长的JDBC和SQL代码中解脱出来。

3. 查询语言。这是持久性操作的一个非常重要的方面。它可以通过面向对象的查询语言而不是面向数据库的查询语言来查询数据,以避免SQL语句的紧密耦合。由于JPA框架支持容器级事务,如大型数据集、事务和并发,因此JPA超越了简单持久性框架的限制,在企业应用程序中发挥了更大的作用。

jpa的优缺点?

持久化Java对象。JPA可以直接持久化复杂的Java对象,并且可以使用jpql语言进行复杂的查询。Jpql是JPA的一种特殊查询语言,是一种类似于SQL的面向对象查询语言。

易于使用。JPA使用注释来定义Java对象与关系数据库之间的映射,而传统的ORM大多使用XML配置文件。JPA比orm更方便使用。使用JPA不需要关注底层数据库。

标准化。JPA是JCP发布的统一API,由Java正式规定。目前,实现JPA标准的框架很多。使用JPA的系统可以自由选择遵循JPA标准的框架,并且可以自由替换。

事务性、大量数据。JPA底层采用关系数据库进行存储,具有事务性、数据完整性、并发访问、数据量大等关系数据库的特点,与其他持久化技术相比,JPA具有很大的技术优势。表列出了JPA和其他持久性技术之间的比较。

因为它是非常新的,JPA规范可能需要经过重要的开发才能变得非常稳定。

JPA是规范,不是产品。提供商需要提供一个实现来获得这些基于标准的api的好处。

用jpa多还是mybatis多 jpa更新部分字段 hibernate和jpa的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。