首页
学习
活动
专区
圈层
工具
发布

Java中拷贝对象工具类CopyUtils-可忽略覆盖Null值

使用场景:针对两个对象相互拷贝,然后只替换不为Null的值,自带的BeanUtils无法实现,所以单独在网上找了一个然后进行使用,可忽略Null值的拷贝。...当中默认传入一个完整的对象,一般都是直接先查询然后再修改这样操作 ,但是前端目前只要求传入什么就修改什么,没有传入的默认不修改,意思就是只修改部分字段内容,所以需要我后端先根据ID查询信息然后再修改就要使用到克隆对象忽略...Null值,目前这个工具类就可以实现。...CopyUtils工具类代码: /** * CopyUtils * * @author lcry * @date 2019/09/19 17:31 * 对象互相拷贝忽略Null值 */ public...CopyUtils.copyProperties(desinfo, employee); employeeDao.save(employee); } } 可以自行做测试,比BeanUtils中拷贝对象更好使用

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我攻克的技术难题:深入解析 JackJSON 底层原理及个性化处理返回值中的默认 null 值

    最近我们的项目有一个需求,需要对后端返回给前端的JSON格式进行规范化处理。要求不能缺少任何字段,并且字段的值不能为null。...看这里:从返回请求开始的序列化基本流程就在这里了。在这个流程中,我们可以看到每一步清晰记录的源码,尽管图示可能有些简单,但它提供了对整个流程的清晰理解。...的了,如果不配置的话,默认是返回null //因为_nullSerializer是有默认值的,大家看一看这个类的初始化 //那我们要是改一下_nullSerializer...//解析我们返回值的转换器就是在这里生成的 messageConverters.add(new MappingJackson2HttpMessageConverter(builder.build...因此,在调用changeProperties方法时,我们可以对null值的序列化进行修改。

    1.3K21

    jackson中@JsonProperty、@JsonIgnore等常用注解总结

    ,即便这个字段或方法可以被自动检测到或者还有其 他的注解,一般标记在属性或者方法上,返回的json数据即不包含该属性。...但实体类中基本属性字段的值都存储在快照属性字段中。此时我可以在业务层中做处理,把快照属性字段的值赋给实体类中对应的基本属性字段。...最后,我希望返回的json数据中不包含这两个快照字段,那么在实体类中快照属性上加注解@JsonIgnore,那么最后返回的json数据,将不会包含customerId和productId两个属性值。...sourceAddress) { this.sourceAddress = sourceAddress;}}@JsonIgnoreProperties:此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉...@JsonInclude :属性值为null的不参与序列化。例子:@JsonInclude(Include.NON_NULL)

    5.5K30

    SQL基础查询方法

    返回到列中的数据值的源。 从中检索结果集数据的表,以及这些表之间的所有逻辑关系。(From) 为了符合 SELECT 语句的要求,源表中的行所必须达到的条件。不符合条件的行会被忽略。...如果没有指定 DISTINCT,将返回所有行,包括重复的行。 空值将被认为是相互重复的内容。不论遇到多少个空值,结果中只返回一个 NULL。...PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。...Null 值(IS NULL 和 IS NOT NULL) SELECT s.Name FROM Sales.Customer c JOIN Sales.Store s ON c.CustomerID...= s.CustomerID WHERE c.CustomerID IS NOT NULL ORDER BY s.Name; 比较 null 值时请谨慎从事。

    5.9K10

    复杂一点的查询

    m.employeeid  as managerid from employee e left outer join employee m  on e.managerid = m.employeeid 无论左侧表(e)中的行是否与右侧表中的行相匹配都要显示...如果左侧表中的行在右侧表中找不到相匹配的数据,  那么右侧表的数据为null right outer join 也类似   outer是可以忽略的 三:full  join  与  cross  join...2:字段的数据类型必须隐士兼容 3:返回的结果集的标头取自第一个查询 4:默认返回方式是distinct,union  alll返回全部的集合 五:子查询返回单个值 先看例子: declare @hits...articles A join users U on U.id = A.uid where A.hitnum = (select min(hitnum) from articles ) 这就是子查询 六:子查询返回多个值...接着看例子(子查询里返回多个值) use  database select  A.title from articles A join users U on A.uid = U.id where A.id

    92120

    好的数据库面试题集合

    ² NULL是什么意思 NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。...假设您的SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。...您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。...返回参数总是INT数据类型。 OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。)...某一列允许NULL值,但希望确保所有的非空(Non-NULL)值都是唯一的  SQL Server没有实现非NULL值唯一性的内建机制,因此需要通过自定义的trigger: Create trigger

    2.2K10

    使用group by rollup和group by cube后的辅助函数

    values (5, 2, 2, 4, 6); 基础数据 1、GROUPING函数 使用GROUPING函数处理汇总结果(在使用group by rollup和group by cube后的结果集)中的空值...结果集按照orderid和productid进行汇总之后,出现了很多的空值,具体原因参考哥前面的随笔 ,so,必须解决这个问题,因为null值对报表结果来说没什么用,我们大致都会用0,'空','NULL...当orderid为null值的时候grouping(orderid)的值为1,反之为0 所以:根据这个特点我们可以推断出GROUPING函数的用法: GROUPING(字段),如果字段值为null,GROUPING...(字段)返回1,反之返回0。...null值全部改为了0 2、GROUPING  SETS函数 和哥前面的随笔一样,不知道它的功能没关系,先试一试,在根据结果集推出来他的功能,不多说,上代码: i、现在需要求出每个订单下每个产品的订单数

    2.5K70

    存储过程示例

    ; end get_username; 例3:一个高效的数据分页的存储过程、 create procedure pageTest ( @FirstId nvarchar(20)=null, –当前页面里的第一条记录的排序字段的值...@LastID nvarchar(20)=null, –当前页面里的最后一条记录的排序字段的值 @isNext bit=null, –true 1: 下一页; false 0:上一页; @allCount...int output, –返回总记录书 @pageSize int output, –返回一夜的记录数 @CurPage int –也好(第几页) 0:第一页;-1最后一页 ) AS if @CurPage...= 0 –第一页; begin –统计总记录数 select @allCount=count(ProductId) from Product_test set @pageSize = 10 –返回第一页的数据...order by ProductId desc ) as aa order by ProductId else begin if @isNext=1 –翻到下一页 select top 10 ProductId

    1.3K30
    领券