引言
两点:
一,使用MyBatis-Plus最新版(3.0.1)完成相关操作
二,好久没写MyBatis操作数据库的博文了,有没有想我啊,哈哈,认真看,认真听,认真学。
测试效果:
下面听我细细道来,MyBatis-Plus的优雅、简洁与强大。
代码生成器
代码生成器,又被叫做逆向工程,MyBatis官方为了推广,自己也写了一个,我之前也使用这个,功能也是非常强大,强大以为支持自定义配置,那么问题来了,我该怎么配置才合理呢,所以,有人把所有的配置项都弄成中文的,还有人开发了生成插件,这些在我以往的博文中都看看到。MyBatis-Plus的代码生成器到底怎么样,这我就不评判了,我就这样说,用用看吧。
在MyBatis-Plus的官网文档中,有将代码生成器的问题,有配置详解,也有项目示例代码,复制来就可用。
我这次是用MP 3.0.1,也就是最新版,官方还没有更新呢,所以,我去找了很久的源码,才将这个完成,勉强适合自己的了。这个在 CodeGenerator Module中,可以下下下来,导入到IDE中,看一下,修改配置就能运行。有问题,也可以与我讨论。
功能列表:
[✔] 自动生成model类
[✔] 自动生成dao接口
[✔] 自动生成xml文件
[✔] 自动生成service接口
[✔] 自动生成service实现类
[✔] model支持Builder模式
[✔] 支持swagger2
[✔] 支持生成数据库字段常量
[✔] 支持生成Kotlin代码
[] …
项目初始化
第一步:pom.xml引入MyBatis-Plus依赖,注意,不需要再引入MyBatis的包,因为我这里使用Spring Boot搭建的工程,所有因为方式见下:
...
com.baomidou
mybatis-plus-boot-starter
3.0.1
...
第二步:将生成的代码,拷贝到相应的包下
第三步:在配置文件中进行相应的配置
具体配置可参考官网,这里需要注意这样几个地方:
mybatis-plus:
# xml
mapper-locations: classpath:mapper/*Mapper.xml
# 实体扫描,多个package用逗号或者分号分隔
type-aliases-package: com.fengwenyi.mp3demo.model
configuration:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
第四步:在启动类上添加下面的注解
@EnableTransactionManagement
@MapperScan("com.fengwenyi.mp3demo.dao")
增删改
Service
我们一起去看源码 com.baomidou.mybatisplus.extension.s