mybatisplus自动生成代码,
目录
一。搭建基础项目二。设置自动填充
一. 搭建基础项目
引入依赖
依赖依赖groupIdorg.springframework.boot/groupId artifact id spring-boot-starter-web/artifact id/dependency!龙目岛依赖-dependency groupIdorg.projectlombok/groupId artifact id lombok/artifact id option true/optional/dependency!-赃物2依赖-依赖groupIdio.springfox/groupId artifactId spring fox-swagger 2/artifactId 2。7 .0版/版本/依赖关系!斯瓦格第三方用户界面依赖-依赖关系groupIdcom.github.xiaoymin/groupId artifactId swagger-bootstrap-ui/artifactId版本1 .9 .6/版本/依赖关系groupIdcom.baomidou/groupId artifactId my batis-plus-boot-starter/artifactId version3.3.1.tmp/version/依赖关系groupId MySQL/groupId artifact id MySQL-connector-Java/artifact id版本8 .0 .26/版本/依赖关系/依赖关系controller
@ RestControllerpublic类测试控制器{ @ auto wired private IProjectService projectService;@ApiOperation(新增项目)@ post mapping(/)public void addProjectWrite(@ request body Project Project){ Project service。保存(项目);} }service
公共接口接口扩展了IServiceProject { }serviceImpl
@Servicepublic类项目服务Impl扩展了服务项目映射器,项目实现了IProjectService { }Mapper
ong>
@Servicepublic class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements IProjectService { }
Pojo
@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("ts_project")@ApiModel(value="Project对象", description="撰写项目申请书的基本内容")public class Project implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private String id; private Integer workNumber; private Integer adminId; private String name; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtCreate; @ApiModelProperty(value = "更新时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtModified; }
application.yml
server: # 端口 port: 8081 spring: # 数据源配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: root # Mybatis-plus配置mybatis-plus: #配置Mapper映射文件 mapper-locations: classpath*:/mapper/*Mapper.xml # 配置MyBatis数据返回类型别名(默认别名是类名) type-aliases-package: com.xxxx.server.pojo configuration: # 自动驼峰命名 map-underscore-to-camel-case: fals
启动类
@SpringBootApplication@EnableScheduling@MapperScan("com.xxxx.server.mapper")public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class,args); }}
搭建完成
此时执行操作,并不会在表中添加时间,如下:
二. 设置自动填充
创建MyMetaObjectHandler文件,实现自动填充
/** * 自动填充时间 */@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("gmtCreate", new Date(), metaObject); this.setFieldValByName("gmtModified", new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("gmtModified", new Date(), metaObject); }}
修改pojo类
@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("ts_project")@ApiModel(value="Project对象", description="撰写项目申请书的基本内容")public class Project implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private String id; private Integer workNumber; private Integer adminId; private String name; @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtCreate; @ApiModelProperty(value = "更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date gmtModified;}
在gmtCreate上增加@TableField(fill = FieldFill.INSERT) 表示创建时间。在gmtModified上增加@TableField(fill = FieldFill.INSERT_UPDATE)表示修改时间。gmtCreate和gmtModified需要与自定义方法中的字段相匹配。此时执行操作,会在表中添加时间,如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。