MYBATIS生成策略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jnshu_it/article/details/84525449

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【MYBATIS生成策略】

【修真院java小课堂】MYBATIS生成策略

大家好,我是IT修真院北京分院第35期的学员铁木儿,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务拓展

(1)背景介绍:

MYBATIS

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

(2)知识剖析:

第一阶段:JDBCTEMPLATE

Spring提供的一个操作数据库的技术JdbcTemplate,是对Jdbc的封装。语法风格非常接近DBUtils。 JdbcTemplate可以直接操作数据库,加快效率,而且学这个JdbcTemplate也是为声明式事务做准备,毕竟要对数据库中的数据进行操纵!

第二阶段:MYBATIS

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。

第三阶段:MYBATISGENERATOR

MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的实体类,xml Mapper文件,接口以及帮助类(也就是我们可以借助该类来进行简单的CRUD操作),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程您仍然需要手写SQL和对象。

第四阶段:MYBATISGENERATOR+TKMAPPER

MyBatis 代码生成器(简称为 MBG)的基础上,如果数据库字段变化很频繁,就需要反复重新生成代码,并且由于 MBG 覆盖生成代码和追加方式生成XML,导致每次重新生成都需要大量的比对修改。另外,仅仅基础的增删改查等方法,就已经产生了大量的 XML 内容,内容多,看着比较碍事。为了解决前面提到的问题,也为了兼容 MBG 的方法避免项目重构太多,在 MBG 的基础上结合了部分JPA注解产生了通用Mapper。通用Mapper可以很简单的让你获取基础的单表方法,也很方便扩展通用方法。使用通用 Mapper 可以极大的提高你的工作效率。

第五阶段:MYBATISPLUS

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

(3)常见问题:

1.工具越来越强大,我还有必要学习前面的内容吗

2.连表查询怎么处理

3.那种方案更好

(4)解决方案:

1:

  • 任何进步都不是一蹴而就的,通过学习技术的发展过程可以把握进步的脉络

  • 学习越接近底层越可以了解程序具体的运行过程,在追求编程效率的同时,不应该舍弃对于执行内容了解

  • 对于自身而言,提高对细节的掌握程度,既可以增加代码的简洁性和正确性,也可以发挥出更多的功能

2:

    生成的代码是基于表的,连表部分需要后续在mybatis的配置文件中补充

3:

    没有绝对好的方案,在本次的内容中有两种通用的解决方案:“mybatisGenerator+TKMapper+PageHelper”或者使用mybatisPlus

(5)编码实战:

(6)拓展思考:

(7)参考文献:

http://mbg.cndocs.ml/

https://blog.csdn.net/isea533/article/details/83045335

http://mp.baomidou.com/

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

PPT链接 视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地

猜你喜欢

转载自blog.csdn.net/jnshu_it/article/details/84525449
今日推荐