java开发,虽然名义上叫做面向对象开发,但实际开发过程中,主要就是面向数据库开发。对于一个程序员而言,最常做的事情,就是crud。
crud肯定是所有开发中最基础的,虽然很多人经常吐槽,面试的时候造火箭,等入职了实际干的就是拧螺丝的活。但其实复杂的业务场景,往往就是由最基础的crud构成的。
遇到复杂的业务场景,就需要写非常复杂的sql语句。而复杂的sql语句往往涉及到多表的联查,而多表的联差往往会产生笛卡尔积的现象。
所以,sql语句对于很多人来说,确实是一个大难题,因为这东西不像写代码那样,可以直接看清逻辑关系,sql语句的写法简直毫无逻辑可言。
而且,sql语句往往都是写在xml文件里的,对于一个java程序员来说,自己最熟悉最擅长的肯定是写java代码,往往很不愿意写xml代码。
支持自定义通用通用操作:支持通用通用方法注入(写一次,可在任何地方使用)内置代码生成器:
采用代码或Maven插件可快速生成Mapper,Model,Service,Controller层代码,支持模板引擎,甚至超多自定义配置等您来使用内置分页插件:基于MyBatis物理分页,开发者无需关心特定操作,配置好插件之后,写分页等同于普通列表查询分页插件支持多种数据库:支持MySQL,MariaDB,Oracle,DB2,H2,HSQL,SQLite,Postgre,SQLServer等多种数据库
内置性能分析插件:可输出Sql语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询内置的拦截插件:提供全表delete,update操作智能分析中断,也可自定义拦截规则,预防误操作。
过度依赖工具的结果就是自己最后啥都不会了,所有的精力都放在学习工具上了。这样算来,掌握最基础,但不依赖工具的做法,看似低效,但在任何场景下都可以复用,这样反而是最高效的。
比如心算,既然有计算器了,还有必要会心算吗?当然需要,因为工具种类不同,不同工具的计算方法也不同,因为很多实际应用的计算场景,计算器又模拟不了。简言之,mybatis-plus应对传统三层(或者加一层facade作四层)架构是完全没问题的,但对领域驱动却并不友好。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.