MyBatis代码生成器Easy Code

MyBatis代码生成器Easy Code

传统的Jdbc代码量确实很多,包括连接的获取,释放连接,结果集封装。

image-20201030195200667

使用JdbcTemplate帮助我们自动进行连接的获取释放,结果集封装,将任何sql语句都简化到一行,大大减少了代码量,使我们的工作都集在SQL层面了。

image-20201030195242547

JdbcTemplate虽然好用,但是一个轻量级的框架,使用模板设计模式进行简化Jdbc操作。现在主流的持久层框架,比如MyBatis的动态SQL,Hibernate的全自动装配,所以JdbcTemplate仅限于小Demo的学习阶段了。

主流持久层框架

Hibernate

Hibernate基本上不需要我们去写SQL,但是对于复杂查询,可能需要我们去写一些HQL语句,增加了学习成本。不过对于业务比较简单的系统,我们的Hibernate可以自动生成增删改查,分页,简单条件查询等。

MyBatis

MyBatis是低侵入的框架,使用xml或者注解配置和原接口进行绑定。xml的方式会稍显复杂,但是MyBatis的动态SQL非常的灵活,可以根据我们的条件变换我们的SQL,让我们的一条SQL可以适用于多个语句。

对比

其实这两个框架的使用者分层很奇怪,并不是各占据50%来分的,而是按照国家和地域来分。在很多国家Hibernate才是主流,MyBatis只占据很少的市场。而在中国,我们认为SSH框架已经是很老旧的框架了,Hibernate的无论是文章还是教程都比较的少。关于这个原因,主要是大厂带节奏吧。起初早期的互联网公司确实也是使用Hibernate,但是像百度阿里这些大厂更偏向于MyBatis,这些大厂的人才从公司离职到小公司往往能称为公司的骨干,基本上公司的技术栈都是这些大厂的说的算。还有一些新的互联网公司更偏向于去学习大厂的模式,所以我们的面试小厂可能会发现要会的技术真的不少啊!

但是实际上我们任何项目都少不了增删改插,而且都是比较固定的,比如按照id查找字段,分页查询,按照id删除记录,添加字段等操作都是比较重复的而且没有什么逻辑性,所以本篇文教我们的如何使用自动化的工具去简化我们的Dao层的开发。

MyBatis代码生成技术

MyBatis经常被说要xml比较繁琐,实际上现在有很多代码生成技术,甚至可以一站式的生成后端的Dao,Service,Controller,这里我们就介绍几个。

EasyCode

EasyCode不是指那个收费的那种,指的是一个Idea的一个插件,自动帮我们生成MyBatis,entity类,Service,Controller。

image-20201030201308304

快速入门

首先在idea中连接数据库。

image-20201030201406956

一步一步填写数据库连接的信息,然后点击Test Connection,如果提示连接成功,点击OK即可。

image-20201030201600176

一般情况下提示你安装Driver,而且安装速度非常的慢,这里我们可以导入我们电脑上已经有的mysql的jar包

image-20201030201807647

点击+号,添加一个mysql连接的jar包的路径,这里我使用Maven仓库的jar。

image-20201030201825449

右侧DateBase可以看到我们的数据库各个表

image-20201030202024589

右键我们要进行自动生成的数据库的表,然后选择EasyCode===》Generate Code

image-20201030202119590

看到如下信息,先选好Module

image-20201030202409058

接下来选择包名,一般是com.公司名,然后下面选择勾选我们需要自动生成的文件,然后我们点击禁止提示。

image-20201030202450363

没导包,爆红了因为用到了Spring和MyBatis的注解。EasyCode是插件生成代码,所以不依赖于jar。

image-20201030203145422

自动生成了MyBatis的各种操作,常用的增删改查,动态查询,分页查询等。

image-20201030203442778

我们可以根据个人习惯,更改一下我们的代码模板,比如添加更多的Controller的公共代码。

image-20201030203252820