自定义mybatis generator的注释生成器

用过mybatis generator的同学应该都知道它生成的bean大概是下面这个样子(如果配置文件中开启了生成注释选项的话):
在这里插入图片描述
在这里插入图片描述
从中可以看出,默认生成的bean中的注释并不友好,那么,我们有没有办法自定义这些注释呢,答案是肯定的。具体的做法就是自己定义一个注释生成器。

怎么自定义注释生成器呢?方法有2种:第一种是实现mybatis generator提供的CommentGenerator接口,并实现里边的方法。第二种是偷懒的方法,只需要继承mybatis generator默认的注释生成器DefaultCommentGenerator,然后按需覆盖里边的方法就行了。

接下来就是在配置文件中指定我们自定义的注释生成器。如下:
在这里插入图片描述
最后,博主写了个demo,在这里

demo实现的最终效果如下:

package com.qs.mmeng.entity;

import java.time.LocalDateTime;

/**
 * mbg-custom-comment-generator
 * 
 * @author qsmmeng
 * @date 2019-01-23 16:36:18
 */
public class Music {
    /**
     * 主键
     */
    private Long id;

    /**
     * 歌手名字
     */
    private String singerName;

    /**
     * 歌曲名称
     */
    private String songName;

    /**
     * 歌曲类型::-1:其他;0:网络歌曲;1:流行歌曲;2:怀旧经典;3:纯音乐;4:儿歌;
     */
    private Integer type;

    /**
     * 时长(interval是关键字)
     */
    private Integer intervals;

    /**
     * 状态 -1:删除 0:正常
     */
    private Integer status;

    /**
     * 创建者id
     */
    private Long createBy;

    /**
     * 创建者名字
     */
    private String createByName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新者id
     */
    private Long updateBy;

    /**
     * 更新者名字
     */
    private String updateByName;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 音频外链
     */
    private String url;

    /**
     * @return 主键
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return 歌手名字
     */
    public String getSingerName() {
        return singerName;
    }

    /**
     * @param singerName 歌手名字
     */
    public void setSingerName(String singerName) {
        this.singerName = singerName == null ? null : singerName.trim();
    }

    /**
     * @return 歌曲名称
     */
    public String getSongName() {
        return songName;
    }

    /**
     * @param songName 歌曲名称
     */
    public void setSongName(String songName) {
        this.songName = songName == null ? null : songName.trim();
    }

    /**
     * @return 歌曲类型::-1:其他;0:网络歌曲;1:流行歌曲;2:怀旧经典;3:纯音乐;4:儿歌;
     */
    public Integer getType() {
        return type;
    }

    /**
     * @param type 歌曲类型::-1:其他;0:网络歌曲;1:流行歌曲;2:怀旧经典;3:纯音乐;4:儿歌;
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * @return 时长(interval是关键字)
     */
    public Integer getIntervals() {
        return intervals;
    }

    /**
     * @param intervals 时长(interval是关键字)
     */
    public void setIntervals(Integer intervals) {
        this.intervals = intervals;
    }

    /**
     * @return 状态 -1:删除 0:正常
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * @param status 状态 -1:删除 0:正常
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * @return 创建者id
     */
    public Long getCreateBy() {
        return createBy;
    }

    /**
     * @param createBy 创建者id
     */
    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    /**
     * @return 创建者名字
     */
    public String getCreateByName() {
        return createByName;
    }

    /**
     * @param createByName 创建者名字
     */
    public void setCreateByName(String createByName) {
        this.createByName = createByName == null ? null : createByName.trim();
    }

    /**
     * @return 创建时间
     */
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    /**
     * @param createTime 创建时间
     */
    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    /**
     * @return 更新者id
     */
    public Long getUpdateBy() {
        return updateBy;
    }

    /**
     * @param updateBy 更新者id
     */
    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * @return 更新者名字
     */
    public String getUpdateByName() {
        return updateByName;
    }

    /**
     * @param updateByName 更新者名字
     */
    public void setUpdateByName(String updateByName) {
        this.updateByName = updateByName == null ? null : updateByName.trim();
    }

    /**
     * @return 更新时间
     */
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    /**
     * @param updateTime 更新时间
     */
    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * @return 音频外链
     */
    public String getUrl() {
        return url;
    }

    /**
     * @param url 音频外链
     */
    public void setUrl(String url) {
        this.url = url == null ? null : url.trim();
    }
}

只要我们认真看看mybatis generator默认的注释生成器DefaultCommentGenerator,实现自定义的注释生成器就不难。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值