Json-lib的方式:

功能较为简单
对集合类的属性的映射需要手动配置
不支持注解配置

Double/Integer等包装对象,如果值为:null,序列化结果为:0

BigDecimal序列化会出现精度丢失的情况,如:19.90,转为json字符串,会变成19.9丢失后面的0

Jackso[……]

阅读全文

重构

原因

需求变化

架构调整

最佳实践变化

原则

适用

实施

当需要改动的时候再进行优化

CSS样式的优先级:

CSS样式的特指度:(a,b,c,d)

如果用 style 属性应用样式,则 a=1,否则 a=0。

b 为 ID 选择器的数量。

c 为类选择器、属性选择器和[……]

阅读全文

Oren Eini(又名 Ayende Rahien)建议开发者尽量避免数据库的软删除操作,读者可能因此认为硬删除是合理的选择。作为对 Ayende 文章的回应,Udi Dahan 强烈建议完全避免数据删除。

 
 

所谓软删除主张在表中增加一个 IsDeleted 列以保持数据完整。如果某一行设置了[……]

阅读全文

在企业数据库设计中,经常会遇到一个需求,就是希望把操作之前的数据保留下来,能够看到操作之前是什么数据,操作之后是什么数据。对于这种需求,我们可以使用保留历史数据或者使用版本来实现。

为了能够保留历史数据,在版本设计时有以下方案:

一、使用版本号

版本号是一种常见的版本设计方案,就是在要进行历[……]

阅读全文

在存储标题、网址等一系列不长不短的内容时,字段类型我们可能选择 varchar(255) 或者 varchar(256),使用哪个好呢?

有些人选择 varchar(255),可能来源于以下两个原因:

  • tinyint 类型存储的最大数字是 255,诱导我们设置 varchar 时也不要[……]

阅读全文

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

乐观锁(O[……]

阅读全文