先说结论:2020年了,推荐mybatis-plus

面向对象or程序逻辑和sql解耦?

在之前hibernate和mybatis比较时,两者最主要的区别是hibernate用面相对象的方式解决数据库操作问题,sql相对来说是不透明的,甚至你换数据库都无所谓。mybatis则相反,java和sql完全分离,需要自己实现相关sql。

hibernate写sql麻烦,mybatis写很多重复的sql?

后来大家发现hibernate要做复杂的sql,比如涉及多表的报表之类的东西,因为不够直观,优化起来很复杂。mybatis干啥都要写一堆接近重复的sql,比如单表的CRUD也要写一套mapper+xml里的sql,太麻烦了,虽然有了mybatis-gen*这类mybatis的生成器,但是还是很麻烦,开发时要生成一堆模板代码。

有没有既能让我CRUD快速开发,又能让我解耦,还能让我想优化的时候直接撸sql的东西?

在我看来,mybatis-plus的出现很好的解决的现在orm框架的问题。它是mybatis的增强工具,要配合着mybatis使用,并没有脱离mybatis的初衷。简单的引入后,依托于BaseMapper不写一句sql就可以满足单表的CRUD功能。在你想要撸sql的时候,只需要写自己想要另外写的sql就行。

利益相关

用了这个框架,节约了很多时间用来刷知乎。

java 持久层框架排行_2020年,java持久层怎么选择?相关推荐

  1. java面向对象思维导图_2020年Java进阶架构师的必备思维导图,让你少走弯路!

    架构师是什么?要做什么? 架构师 :是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物.架构师不是一个人,他需要建立高效的体系,带领团队去攻城略地,在规定的时间内完 ...

  2. java技术栈有哪些_2020 年 Java 程序员应该学习掌握哪些技术?

    原文:2020 年 Java 程序员应该学习掌握哪些技术? 作者:java技术剑 作为一名程序员,我们面临的最大挑战是使自己保持不断学习的状态.技术变化非常快,每两年你就会看到新版本的编程语言和框架. ...

  3. java怎么给框架添加背景图,java里怎么给Container添加背景图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public Frame1() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } ...

  4. 消费管理系统java代码_SSH框架+Mysql数据库开发java web会员积分消费管理系统

    package com.nd.util; import java.security.MessageDigest; public class MD5Utils { //十六进制下数字到字符的映射数组 p ...

  5. Java数据持久层框架 MyBatis之背景知识一

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  6. java持久层用文件_Java持久层框架MyBatis简单实例

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .本文 ...

  7. mysql高可用 持久层_MyBatis持久层框架使用总结 转载

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis . 2 ...

  8. java web 常见框架

    Java web 主流框架 成熟框架 hibernate 框架 hibernate 是一种ORM框架,全称Object-Relative Database-Mapping,在Java对象与关系型数据库 ...

  9. Java SE MyBatis框架(详解)

    Java SE MyBatis框架 目录 Java SE MyBatis框架 通用框架 1.lib 2.src 2.1.mybatis.xml 2.2.DateBase.properties 2.3. ...

最新文章

  1. <a>标签带参数跳转并在下一个页面接收
  2. Linux系统新手学习的11点建议
  3. 【五线谱】Sibelius 7.5.1 打谱软件安装 ( 软件下载 | 软件安装 )
  4. 深度解读DynamIQ架构cache的替换策略
  5. 信息学奥赛一本通(1030:计算球的体积)
  6. iphone屏蔽系统更新_手机资讯:iOS12 屏蔽系统更新的描述文件已失效怎么办
  7. 力扣 746 使用最小化花费爬楼梯
  8. android 文件mimetype_android文件关联之mime type
  9. 我们体验了宝马自然语音识别,还给它出了几道「附加题」
  10. Yacc 和 Bison
  11. 学术论文的格式要求是怎样的?
  12. 第145章 SQL函数 TO_NUMBER
  13. 如何选择工业相机(转载)
  14. H3CNE-生成树协议(STP)
  15. 【优化】利普希茨连续(Lipschitz continuous)及其应用
  16. The Open Group即将举办线上线下企业架构从业者峰会
  17. 一年Java开发经验面试招行总结
  18. 原生JS利用XMLHttpRequest实现Get和Post请求
  19. 超全的AI人工智能学习路线图(内含大纲+视频+工具)
  20. php中注册数字插不进去,进php数字

热门文章

  1. 深度解析JVM内存模型
  2. Git管理工具对比(GitBash、EGit、SourceTree)
  3. 用C语言简单找出数组中的最大元素和最小元素
  4. 新手爬虫——网易云音乐分析
  5. VC界面编程skill tips-CListCtrl
  6. 2023年中国传媒大学广播电视考研上岸前辈备考经验
  7. VM14+CentOS7安装
  8. mysql创建索引的关键字为_MySQL创建索引(CREATE INDEX)
  9. Fluent UDF编译环境配置 VS2019
  10. 普林斯顿微积分读本篇四:求解多项式的极限问题