我们在使用Java开发现在的web项目时,mybatis是一个十分经典的持久层框架。使用mybatis没有hibernate那么多繁杂的配置,而且可以自己书写sql语句,进行增,删,改,查。但是,传统的mybatis其实还是有许多不便,特别是针对单表的操作时,我们也要写sql语句,如果Entity和数据库列名不一致还要写Result。所以今天带来一个我们国内的加强版:mybatis-plus
首先,我们还是感谢mybatis-plus的支持,请支持mybatis-plus的官网:https://baomidou.com/
我们可能在用了hibernate时候就开始比较抵触这种不写sql语句的形式(可能被hibernate被坑怕了^.^),但是,即如mybatis-plus官网说的那样,这是对mybatis的加强和方便化,像我们小时候魂斗罗时通关的两个基友一样,所以学习这个框架时需要先把态度摆对
好了,废话了那么多,让我们正式开始吧
导入jar包:
由于现在gradle项目比较多,这里就用gradle的导入方式,如果需要maven的导入方式请去maven仓库查询,这里需要mysql的驱动和mybatis-plus包,不再需要mybatis的包
或者(下面这种方式没有导驱动,记得在下面那种方式把驱动加上)
使用Mybatis的项目一键生成代码
mybatis-plus的官方有代码生成器,让你从controller到mapper一键生成,省心省力,并且对单表查询的支持已经近乎完美,对联表查询也有支持^.^,加入代码生成器的依赖(因为官网示例是以freemarker作为引擎的,所以需要引入freemark包:
自己在项目中建个包,类CodeGenerator,把官网的示例直接复制粘贴下来,修改数据库的数据源信息。官网示例地址:https://baomidou.com/guide/generator.html导入所需包(注意,有几个包会有多个类有,需要看清楚使用generate的包哦),因为这个类是有main函数的,所以直接运行这个类的main函数(不是项目那个application)
现,让我们看看生成的结果:
我们一般是专门写个项目生成这些东西,然后每次生成的类复制到自己的项目中去,这里还要加一些东西:
- 生成的mapper没有加注解,需要我们手动加入
- 如果你是单独项目提出来的,把这些复制进入你自己项目时可能包导入的地方不对,所以最好全部进去看看包是否正确找到
- mybatis-plus的Entity是不是很奇怪,握草!我们的set和get方法呢?其实mybatis-plus使用了Lombok,Lombok的作用就是帮我们自动生成get/set方法,Lombok的具体使用请参考网上其它博文(其实也就是导入一个包,加上一个注解,ideal需要下载一个插件,eclipse没有使用过)
这样,我们的一个mybatis-plus项目就已经搭建成功了,下面一篇文章将会来玩玩这个mybatis-plus