本文主要是介绍满满的MybatisX干货哦~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 前言
- 1.安装MybatisX
- 2.功能
- 2.1.文件跳转
- 2.2.代码自动生成
- 2.3.代码自动补全
前言
一开始本来我是想用Free Mybatis plugin的,结果搜不到,然后就发现了这货,一番体验之后是真的舒爽啊!!!
1.安装MybatisX
2.功能
2.1.文件跳转
这个功能我是在太爱了,在使用mybatis框架的时候,你还在繁琐的找和接口对应的mapper.xml、SQL语句吗?还在繁琐的找和mapper.xml对应的接口、方法吗?还在繁琐的找注入给serviceImpl的接口吗?
这也太麻烦还巨浪费时间了!!!,而MybatisX插件提供了跳转的功能,通过点击“愤怒的小鸟”就可以跳转到对应的地方。
我敲了个简单项目来演示:
跳到了mapper.xml(点第二只小鸟会跳到id为findAll所对应的方法)
2.2.代码自动生成
其实很久以前我就非常头疼写一堆dao、service、serviceImpl、mapper.xml、pojo的重复性工作,一直希望有那么一个工具帮我干这些重复性工作,而MybatisX可以根据表自动生成且模板可自定义。
最好搭配以下一起食用:
- SpringBoot
- MybatisPlus(可选,但是不选,效果就没有那么好了)。
第一步: 连接数据源。
注意:时区要写对,不然会犯病(时区在哪配置?上面"测试连接"要是测出了时区问题,你可以按照指引去做配置,改成Asia/Shanghai
即可)。
第二步: 点batisx-generator,配置自动生成代码。
- 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:生成实体类继承的父类。
- 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文件夹点击重置默认扩展即可。
- 最底下的表:显示所要生成文件的类型、模块路径、基本路径、生成后位于哪个包(默认为mapper)。后面3个列都可以修改值(以符合项目需求)。这些也可以在对应的template的文件夹内的
.meta.xml
中进行修改。
补充:
要是使用了Mybatis-Plus框架这样配置即可:
第三步: 点Finish,完事儿!!!
注意:以上操作是敲定了user表,生成的是user表的,要是还要生成其它表的,一样的套路即可。
查看自动生成的代码:
2.3.代码自动补全
第一步: 要有对应接口的mapper.xml—可以把光标放在接口名上右键生成:
第二步: 根据提示敲好方法名(或者自定义,但是就只会生成声明,不会生成sql语句)–>右击–>show context actions(显示上下文操作)–>generate mybatis sql。
快捷:光标放在方法名上–>Ctrl+Enter–>generate mybatis sql。
这篇关于满满的MybatisX干货哦~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!