满满的MybatisX干货哦~

2年前 (2022) 程序员胖胖胖虎阿
267 0 0

目录

      • 前言
      • 1.安装MybatisX
      • 2.功能
        • 2.1.文件跳转
        • 2.2.代码自动生成
        • 2.3.代码自动补全

前言

一开始本来我是想用Free Mybatis plugin的,结果搜不到,然后就发现了这货,一番体验之后是真的舒爽啊!!!

1.安装MybatisX

满满的MybatisX干货哦~

2.功能

2.1.文件跳转

这个功能我是在太爱了,在使用mybatis框架的时候,你还在繁琐的找和接口对应的mapper.xml、SQL语句吗?还在繁琐的找和mapper.xml对应的接口、方法吗?还在繁琐的找注入给serviceImpl的接口吗?
这也太麻烦还巨浪费时间了!!!,而MybatisX插件提供了跳转的功能,通过点击“愤怒的小鸟”就可以跳转到对应的地方。

我敲了个简单项目来演示:

满满的MybatisX干货哦~

跳到了mapper.xml(点第二只小鸟会跳到id为findAll所对应的方法)

满满的MybatisX干货哦~

2.2.代码自动生成

其实很久以前我就非常头疼写一堆dao、service、serviceImpl、mapper.xml、pojo的重复性工作,一直希望有那么一个工具帮我干这些重复性工作,而MybatisX可以根据表自动生成且模板可自定义。

最好搭配以下一起食用:

  • SpringBoot
  • MybatisPlus(可选,但是不选,效果就没有那么好了)。

第一步: 连接数据源。

满满的MybatisX干货哦~


满满的MybatisX干货哦~

注意:时区要写对,不然会犯病(时区在哪配置?上面"测试连接"要是测出了时区问题,你可以按照指引去做配置,改成Asia/Shanghai即可)。

第二步: 点batisx-generator,配置自动生成代码。

满满的MybatisX干货哦~


满满的MybatisX干货哦~

  • module path:模块路径,此处填写项目所在路径。
  • base package:填写项目的包(你需要把dao、service、serviceImpl、mapper.xml、pojo这些生成在哪个包下)
  • encoding:编码,使用UTF-8即可。
  • base path:就是base package的前段(比如,base path+base package=src/main/java/com/sangeng)
  • relative package:实体类所在的包名,默认是domain。
  • extra class suffix:生成的实体类后面会加上此内容。例如,上图中本来要生成的实体类为User的,然后我们在extra class suffix框里敲上Test,最后生成的实体类为UserTest。
  • ignore field prefix(前缀):数据库中有字段名为name的,若ignore field prefix框里敲上na,则生成的实体类中对应的属性名为me,省略了na。
  • ignore table prefix:数据库表名为mybatis_db,若ignore tableprefix框里敲上my,则生成的实体类的名字变为batis_db(当然,要是你设置了extra class suffix,那么生成的实体类后面会加上指定内容)。
  • superClass:生成实体类继承的父类。

满满的MybatisX干货哦~

  • annotation选项:生成的代码中是否加上注解(例如,@TableName等注解)。None为没有注解,其它为字面意思。

    因为我只是做个演示,没有使用MybatisPlus框架,也没有service、serviceImpl,所以是这样配置的,要是想要有service和serviceImpl,annotation可以勾选Mybatis-Plus3

  • options选项:经过尝试后,作用大致如下:
    • comment:可能和生成java doc comments有关,但试了下,好像没有效果。
    • toString/hashCode/equals:是否生成相应的方法,建议勾选。
    • Lombok:勾选后实体类自动添加Lombok的@Data注解,建议勾选(要先安装Lombok插件哦)
    • Actual Column:勾选后,生成的实体类属性名和表中字段名大小写会保持一致。例如,表中有字段Name,勾选该选项后生成的属性名也为Name,未勾选则为name,建议根据实际需要勾选。
    • Actual Column Annotation:是否对所有属性名都加上注解标明对应字段,例如@TableName,建议勾选。
    • JSR310:Data API:是否使用新标准的时间日期API,包括 Instant、Clock、LocalDateTime、DateTimeFormatter、ZonedDateTime 以及替换 Calendar 的 Chronology 等类。建议勾选(新标准的时间日期API比老版本友好多了,强烈建议使用新版时间日期API)
  • template选项:生成mapper、service等相关代码所使用的模板。

    如果没有使用MybatisPlus,可以选择default-empty模板或自定义其它模板—默认位于:临时文件和控制台–>Extensions–>MybatisX(就在idea左下边)
    对应文件夹内即为相关模板的具体配置文件。如果需要重置,右键template文件夹点击重置默认扩展即可。
    满满的MybatisX干货哦~

  • 最底下的表:显示所要生成文件的类型、模块路径、基本路径、生成后位于哪个包(默认为mapper)。后面3个列都可以修改值(以符合项目需求)。这些也可以在对应的template的文件夹内的.meta.xml中进行修改。

补充

要是使用了Mybatis-Plus框架这样配置即可:

满满的MybatisX干货哦~

第三步: 点Finish,完事儿!!!

注意:以上操作是敲定了user表,生成的是user表的,要是还要生成其它表的,一样的套路即可。

查看自动生成的代码:

满满的MybatisX干货哦~

2.3.代码自动补全

第一步: 要有对应接口的mapper.xml—可以先把光标放在方法名上生成:

满满的MybatisX干货哦~

第二步: 根据提示敲好方法名(或者自定义,但是就只会生成声明,不会生成sql语句)–>右击–>show context actions(显示上下文操作)–>generate mybatis sql。

快捷:光标放在方法名上–>Ctrl+Enter–>generate mybatis sql。

满满的MybatisX干货哦~

版权声明:程序员胖胖胖虎阿 发表于 2022年10月30日 上午4:56。
转载请注明:满满的MybatisX干货哦~ | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...