天天看点

生成对String 进行自动trim()的setter代码模板

代码模板

在使用mybatis时,发现自动生成工具有一个功能:对setter方法中字符串对象,将自动使用trim()方法。这是一个不错的设计,所以我尝试使用最简单的方式实现这个功能,最后使用了idea的模板方法。

#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))($field.type $paramName) {
#if ($field.name == $paramName)
    #if (!$field.modifierStatic)
    this.##
    #else
        $classname.##
    #end
#end
$field.name = ##
#if($field.string)
    $paramName == null ? null : $paramName.##
    trim();
#else
    $paramName;
#end
}
           

将这个代码放到生成setter方法的模板里,在使用时,选择就好,现在使用ubuntu,没法上传图片,就复制结果吧。

public class UserInfo {
    private Long id;
    private String name;
    private String address;
    private String mobile;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }
}