14 MyBatis Plus 与 代码生成器_第1页
14 MyBatis Plus 与 代码生成器_第2页
14 MyBatis Plus 与 代码生成器_第3页
14 MyBatis Plus 与 代码生成器_第4页
14 MyBatis Plus 与 代码生成器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

罗荣良MyBatisPlus与

代码生成器持久层的演进之路Stage1:JDBC(石器时代)手动开关连接,拼写SQL字符串,繁琐易错。Stage2:MyBatis(铁器时代)ORM映射,SQL与代码分离,但简单的CRUD还要手写XML。Stage3:MyBatisPlus(工业时代)只做增强不做改变。单表CRUD零SQL实现。MyBatis基础回顾:注解开发MyBatisPlus和MyBatis关系

@Mapper:标记接口。@Select("SELECT*FROMuser"):简单的SQL直接写在注解里。局限:遇到复杂SQL或动态条件,注解会变得很难看,这时候还是得用XML主角登场:MyBatisPlusMyBatisPlus--为简化开发而生。定位:MyBatis的增强工具,只做增强不做改变。核心特性:无侵入、损耗小、强大的CRUD操作、支持主键自动生成。代码对比:MyBatis:手写intinsert(Students)+XMLSQL。MP:publicinterfaceUserMapperextendsBaseMapper<User>{}效果:直接拥有17+个通用方法。核心神器:BaseMapper接口告别String:条件构造器痛点:以前写wherename='张三'容易拼错字段名。MP方案:LambdaQueryWrappernewLambdaQueryWrapper<User>().eq(User::getName,"张三")优势:类型安全,防手抖,重构友好。实战:分页查询配置:添加MybatisPlusInterceptor分页拦截器。用法:Page<User>page=newPage<>(1,10);

userMapper.selectPage(page,wrapper);结果:自动封装total,records,current,size。高级武器:CodeGenerator(代码生成器)理念:重复的代码交给机器,核心的逻辑交给人类。

功能:连接数据库->读取表结构->一键生成:

Entity,Mapper,Service,Controller,XML。生成器实战演示配置项:1.GlobalConfig:作者、输出目录。2.PackageConfig:包名(com.example.demo)。3.StrategyConfig:表名(sys_user),Lombok,RESTful风格。生成的代码质量检查1.Entity:自动加了@TableName,@TableId。2.Service:自动继承了IService,拥有批量操作能力。3.Controller:自动写好了基本的RESTful结构。

MP是好工具:解决90%的单表操作,极大提升效率。

SQL是基本功:剩下10%的复杂报表、多表关联,依然需要手写SQL(XML)。

切记:不要为了用MP而在Java层面做复杂的Join(内存爆炸)。Lombok)技术价值观:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论