MyBatis代码生成器Mybatis-Generator的配置和使用
- 注:项目介绍
- 编译器:Intellij IDEA
- 项 目:SpringBoot项目
讲道理现在MyBatis-plus出来了。省去了再写许多繁琐的xml文件。也大大简化了开发压力。类似于SpringData-JPA(也挺好用的)。MyBatis-plus也有相关的代码生成器。后面有时间博主再去踩一下回来再整理。
首先我们有一个建好的现成项目
可以看到什么都还没有加进去,那我们就从连接数据库到代码自动生成演示一下。
使用Mybatis-Generator
1、首先我们要添加一个配置文件,这个也是最关键的文件。
配置文件代码:mybatis-generator-cfg.xml
2、其次就是pom里面添加配置,加载plugins里面!
注:红圈的路径对应的就是刚才添加的配置文件。
org.mybatis.generatormybatis-generator-maven-plugin1.3.5src/main/resources/mybatis-generator/mybatis-generator-cfg.xmltruetrueorg.mybatis.generatormybatis-generator-core1.3.5
3、添加运行配置、运行文件(对了记得吧application.properties后缀改为yml。
不然会找不到yml。或者在之前的那个配置文件把yml改为properties,都可以。)
懒人专用:请copy
mybatis-generator:generate -e
4、选中刚才配置的直接运行就ok了。是不是很简单。
由于Mybatis要写很多很多的xml文件、和Sql语句。这个代码生成器会直接生成诸多常用的增删查改。
看到以下提示、说明你很幸运,直接成功了。你可真是太优秀了!博主开始用的时候可是遇到了太多的坑了。
我们再到刚才配置生成的路径下看看文件。已经帮我们直接生成了我们想要的基础文件。
随便例举一个Mapper接口吧, 为了让大家更直观的看到、我把后面自动生成的注释删了。
注释的作用主要用于表格变动之类需要再次生成时识别是否为自动生成的代码(比如第一个countByExample)。会默认覆盖自动生成的代码。
没有注释的会保留下来。:
public interface OrdersMapper { /** * This method was generated by MyBatis Generator. * This method corresponds to the database table orders * * @mbg.generated */ long countByExample(OrdersExample example); int deleteByExample(OrdersExample example); int deleteByPrimaryKey(String id); int insert(Orders record); int insertSelective(Orders record); List selectByExample(OrdersExample example); Orders selectByPrimaryKey(String id); int updateByExampleSelective(@Param("record") Orders record, @Param("example") OrdersExample example); int updateByExample(@Param("record") Orders record, @Param("example") OrdersExample example); int updateByPrimaryKeySelective(Orders record); int updateByPrimaryKey(Orders record); }
重点
以下提几点需要注意的问题。
1、注意mysql的版本问题,不能超过5 。
博主遇到过问题超过五就报错。太久了忘了记录了。跟我一样选一样默认依赖。
新建SpringBoot项目后MySql-Connector默认是8.几。
所以加一个版本号就行。
2、配置文件里面的连接依赖和项目配置的依赖路径一致。
不然也会报错。
可直接右键jar包->find in path -> copy路径到右边配置文件对应位置即可。
3、还是开始提的pom里面的generator.xml路径一定要配对。
最后就附上我的pom.xml文件吧
4.0.0org.springframework.bootspring-boot-starter-parent2.3.0.RELEASEcom.springbootMybatissbm0.0.1-SNAPSHOTsbmDemo project for Spring Boot1.8org.springframework.bootspring-boot-starter-weborg.springframework.dataspring-data-commonsorg.springframework.bootspring-boot-starter-web-servicesmysqlmysql-connector-java5.1.46runtimeorg.projectlomboklomboktrueorg.springframework.bootspring-boot-starter-testtestorg.junit.vintagejunit-vintage-engineorg.springframework.dataspring-data-commons2.1.5.RELEASEorg.springframework.bootspring-boot-maven-pluginorg.mybatis.generatormybatis-generator-maven-plugin1.3.5src/main/resources/mybatis-generator/mybatis-generator-cfg.xmltruetrueorg.mybatis.generatormybatis-generator-core1.3.5
注:此博客基础博客。博主比较菜。常用的是SSM,这个是博主搭建SpringBoot测试项目的时候记录的。可能不是很规范,望见谅。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。