首页 > 其他分享 >pojo实体bool字段不要加is前缀

pojo实体bool字段不要加is前缀

时间:2024-12-17 14:54:34浏览次数:7  
标签:UserCreateDTO 前缀 private 字段 boolean bool pojo userDto

pojo实体bool字段不要加is前缀,在lombok这类工具自动的getter,setter方法时,对于布尔类型,它有自己的命名规则,boolean会把getter方法添加统一前缀is,如boolean的getter方法就是isDefault(),而如果你的字段也命名为isDefault,那么在反序化时可能出现歧义(default不是isDefault);而问题更严重的是,因为你加了is前缀,那么在boolean和Boolean的getter名称上也会出现不同,这在使用BeanUtils.copyProperties这类方法时,无法从相同的boolean属性名复制到另一个实体Boolean的相同属性上面;而如果你布尔类型字段不加is前缀,是不会有这个问题的!

试验代码

UserDto

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder = true)
public class UserDto {
  private String name;
  private Boolean valid;//小写的boolean,在get方法前自己加is
  private Boolean isVisible;
}

UserCreateDTO

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder = true)
public class UserCreateDTO {
  private String name;
  private boolean valid;//小写的boolean,在get方法前自己加is
  private boolean isVisible;
}

测试代码

UserDto userDto = new UserDto();
userDto.setName("lind");
userDto.setValid(true);
userDto.setIsVisible(true);
UserCreateDTO userCreateDTO= new UserCreateDTO();
BeanUtils.copyProperties(userDto, userCreateDTO);

可以看到,带有is前缀的字段没有成功复制值,而valid字段,是可以复制成功的,所以,我们不要在boolean字段前面添加is前缀

标签:UserCreateDTO,前缀,private,字段,boolean,bool,pojo,userDto
From: https://www.cnblogs.com/lori/p/18612474

相关文章

  • 题解:P7020 [NWRRC2017] Boolean Satisfiability
    首先,我们需要明确一个重要的恒等式:\[x\mid\nega=1\]当\(x=1\)时,\(x\mid\negx=1\mid0\)的结果为\(1\)。当\(x=0\)时,\(x\mid\negx=0\mid1\)的结果同样为\(1\)。因此,我们可以得出结论,该式子的结果恒为\(1\)。接下来,我们观察到,当表达式中仅包含......
  • sqlserver查字段的默认值
    在SQLServer中,您可以通过查询系统视图来查找字段的默认值。以下是一些查询字段默认值的常用方法:使用 INFORMATION_SCHEMA.COLUMNS 视图:SELECTTABLE_NAME,COLUMN_NAME,COLUMN_DEFAULTFROMINFORMATION_SCHEMA.COLUMNSWHERETABLE_NAME=......
  • 【阿来来gis规划师工具箱说明书】b14获取指定要素字段值及其占比
    背景一个林业的需求,制作后,发现其实还可以有别的用途。比如统计村庄建设用地范围内的用地情况。这个功能很类似空间联接,不同的在于这个可以统计相应的面积值。后续经过拓展,增加了只保留大面积值,以及椭球面积等的选项。制作思路指定2个图层的2个字段,先标注各个图层斑的唯一......
  • EyouCMS中beafter标签涉及哪些数据库字段?
    在EyouCMS中,beafter标签用于获取当前文档的上一篇或下一篇内容,其背后涉及到数据库中的某些字段。这些字段通常存储在 ey_archives 表中,该表记录了所有文章的基本信息。具体涉及的字段包括但不限于以下几项:arcurl:文章的URL地址,用于生成链接。title:文章的标题,用于显示在链......
  • java中VO ,O/R Mapper,PO,VO与PO区别,BO ,POJO,DAO,DTO,TO.QO,D
    一.对象分类:VO(ViewObject)视图对象:用于展示层,通常是Web页面,它从业务模型(BO)中取得数据并将数据展示给用户。VO通常包含了页面所需的所有数据,但不包含业务逻辑。O/RMapper(Object/RelationalMapping)对象/关系映射:这是一种程序设计技术,用于将对象模型映射到关系数据库模型......
  • 子查询关联条件字段没有指定表的别名导致的查询结果不正确的问题
    首先介绍一下表结构和背景; 有两个数据库表,供应商XX任务主表和供应商等级变更记录表;等级表里面有多个任务,两张表是通过同名称的字段,supplier_id关联;  ①SQL是XX任务表关联供应商等级表,结果是A+,实际是D等级,②SQL是查询的结果是A+等级;③SQL是比②SQL多了一个条件带了suppl......
  • MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
    MySQL中count(*)、count(1)和count(字段名)的区别在MySQL中,COUNT()函数用于统计记录数。虽然COUNT(*)、COUNT(1)和COUNT(字段名)的功能类似,但它们在执行逻辑和结果上有所不同。1.count(*)特点统计表中所有行的数量,包括NULL值。执行时不会忽略任何行。通常......
  • PbootCMS v3.0.6版本新增了哪些字段?如何确保这些字段在升级过程中正确添加?
    PbootCMSv3.0.6版本相对于之前的版本新增了一些字段,这些字段主要用于增强内容管理和栏目的灵活性。以下是新增字段的详细信息以及如何确保这些字段在升级过程中正确添加的方法:新增字段:多图标题字段:表名:ay_content字段名:picstitle类型:TEXT(1000)默认值:''用途:存储多图......
  • Z-BlogPHP 应用启用时提示“array_key_exists() expects parameter 2 to be array, bo
    当您在使用Z-BlogPHP时遇到“array_key_exists()expectsparameter2tobearray,boolgiven”的错误,通常是因为数据库表中的数据不全或为空表造成的。以下是一些解决此问题的方法:检查数据库表:错误提示中明确指出 array_key_exists() 函数期望第二个参数为数组,但实际......
  • WooCommerce 常见的字段
    产品字段(ProductFields)•ID:产品ID•post_title:产品名称•post_content:产品描述•post_excerpt:产品简短描述•_regular_price:常规价格•_sale_price:售价•_sku:库存单位编号(SKU)•_stock_status:库存状态(如:instock、outofstock)•_weight:产品重量•......