Closed JannLim closed 3 years ago
首先,很欢迎pull request 哈。 我有几个疑问,一起讨论下:
1.ObjUtil.obj2Str 没看出来为什么用这么用 答:这个地方是为了将Object强转为String替换掉用的,出现问题原因是这样的,由于参数允许传入的是Object类型,所以,业务系统中会传入除String以外的其他类型,例如Integer、Long等,这个时候String的强转会出现类型转换异常。不用String.valueOf进行转换是因为String.valueOf源码中,如果obj==null会给出"null"这个结果,也就是业务中明明没有传递参数,却被记录了参数传了"null"字符串,也会引发一些问题,所以ObjUtil.obj2Str这里为了解决这两个问题这么写的。 2.@param("assigneeId")Long assigneeId 这个建议在业务层完成转换,DAO层就不需要Long#valueOf了。 这个参数实际上不需要进行long类型的转换,在数据库中assignee_id的类型是varchar,所以在想这个地方直接给string就可以了,也可以避免由于业务中设置的assignee_id就是字符串而引发的错误