大家有没有这样的烦恼,当我们创建玩数据库中表后,每次都要自己写domain实体类、mapper文件,这些文件都是一成不变的,如果表中字段很多的时候会很麻烦。
而MyBatisX就可以帮我们解决这些问题,自动生成表的实体类mapper、service接口、service实现类以及xxxmapper.xml文件
如图下载插件:
下载完成后重新启动IDEA即可
IDEA连接数据库,选择需要自动生成的表右键如图:
如下配置即可
我一般都是如下配置,让其生成在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/generator)
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:数据库表名为user,若ignore tableprefix框里敲上us,则生成的实体类的名字变为er(当然,要是你设置了extra class suffix,那么生成的实体类后面会加上指定内容)。
superClass:生成实体类继承的父类。
点击next 如下配置:
1)annotation选项:生成的代码中是否加上注解(例如,@TableName等注解)。None为没有注解,其它为字面意思。
因为我只是使用MybatisPlus框架所以是这样配置的,不使用的话就选择none2)options选项:
comment:如果数据库定义表的时候写了comment 勾选后就会自动写入注释
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)model:是否生成实体类,如果不勾选则不会生成相应的实体类;建议勾选
(3)template选项:生成mapper、service等相关代码所使用的模板。
因为我使用MybatisPlus可以选择mybatis-plus3,没使用选择default-empty模板
最后生成如下:
如果不使用mybait-plus 上面选择none 和default-empty 生成代码如下:
来源地址:https://blog.csdn.net/weixin_52574640/article/details/129446461