好久没有更新文章了,最近在忙工作,学习了一些其他东西,偷懒了,没有及时更新文章😊。ssm比较流行,最近在学习mybatis,刚好遇到一个问题,这里记录一下,希望能够帮助到有需要的人。关于mybatis-generator这个网上有很多相关的文章,这里我就不多说了,直接开始表演:
第一步:新建一个springboot工程或maven工程(这里我以idea为例,其他的自行网上搜一下)
第二步:在项目的pom中添加mybatis-generator依赖(插件)
因为mybatis-generator需要连数据库,我这里使用mysql所以需要引入mysql驱动,当然也可以引入本地的jdbc的jar包。
第三步:在项目的resources目录新建mybatis-generator的配置文件generatorConfig.xml内容如下:
因为这个编辑器贴代码会出现有部分不显示,所以在这里就不贴代码了,网上有很多,需要的话可以自行搜索一下!
第四步:运行项目:在编辑器的运行栏点击下拉框点击edit configurations ,弹出窗体点击加号选中Maven,然后在command line里配置:mybatis-generator:generate -e 点击apply然后点击ok,然后点击运行按钮运行
如果配置不出问题话控制台应该会出现如下结果,表示生成成功:
生成代码如下:
生成逻辑也没问题,但是这里有个坑,打开mapper里的java文件如下:
生成代码不是包括crud吗?为什么只有这两个方法呢?开始我以为是xml配置问题,后面搜了很多篇文章配置也都差不多没有多少差异,于是我就开始各种找,最后找了篇文章:Mybatis-mybatis自动生成代码提示"Cannot obtain primary key information from ..."解决方案,这里揭开了这个谜,非常感谢博主:pfjia 的这篇文章,解决了这个问题!
第五步:填坑
解决这个问题简单就是在数据库配置连接的url里加一个参数即可:在jdbc url后增加 ?nullCatalogMeansCurrent=true即可(但此时不会生成withBLOBs类),如果想了解更多请参照上门那篇文章!
ok,把之前生成的代码删除,再运行一次项目:
至此,生成的代码就完整了!
总结:
这篇文章到底了,我是第一次使用这个mybatis-generator,遇到了这个坑,使用以上方式解决了问题。当然可能还有更好的办法,希望各位同仁大佬分享一下,相互学习!喜欢我的文章记得关注我😊哦,专门分享干货!