数据库设计扩展配置

底层框架可识别的注解配置,注解内容中最后的JSON格式内容({}中的内容)。如:{"defval":"now"}表示日期时间字段的默认值为当前系统时间
defval:默认值。eg:{"defval":"默认值"}

md5:框架会将传入的内容使用md5方式加密存储到数据库

sha1:框架会将传入的内容使用sha1方式加密存储到数据库

sed:框架会将传入的内容使用sed对称加密方式加密存储到数据库

uuid:默认为32位UUID字符

luid:默认为长整形UUID

@:默认为架构会自动从缓存中取当前登录者缓存当前参数名对应的值

@*:架构会自动从缓存中取当前登录者缓存属性名(*)对应的值,前端传值无效

sed:框架会将传入的内容使用sed对称加密方式加密存储到数据库

time:新增时日期时间字段内容默认为当前系统时间,更新无效

now:新增、修改时日期时间字段内容默认为当前系统时间

自定义:默认值为自定义内容

dict:数据字典。eg:{"dict":"$sex"}

关联当前字段值对应的数据字典,也可以是与数据字典JSON格式一致的JSON字符串,格式为:$+数据字典代码

tuomin:脱敏方式。eg:{"tuomin":"4*3"}表示为保留前4位与后3位,其他字符用*号代替

将当前字段内容根据指定的脱敏方式输出,主要脱敏方式有:

n*m:表示保留前n与后m位,中间用*号代替,如果长度不足n+1的,后边的m忽略不计,如:4*3表示为保留前4位与后3位,中间部分用*号替换

*n:表示为前边的n位用*号代替,如:*6表示为前边6位用*号代替

n*:表示为后边的n位用*号代替,如:6*表示为后边6位用*号代替

a:b:表示为把字母a替换为字母b,ab字母随便指定,a可以是一个正则表达式,如:@|\\$\\&:#,表示将字符串是的字符(@、$、&)替换为“#”

oname:该字段在其他表中作为主键的名称。eg:{"oname":"account_id"}

当当前字段名称与其他表的主键关联时,且名称与其他表的主键名称不一致时,框架不会自动匹配关联,需要配置此属性后框架就会自动实现关联。

fk:关联其他表的字段,eg:{"fk":"t_account.account_id"}

精确匹配,fk=表名.PK字段名或fk=字段名(只匹配PK字段),与oname相似

encrypt:数据加密存储,eg:{"encrypt":"static"}

static:静态加密,表示相同字符串每次加密结果一致,可做查询条件

dynamic:动态加密,表示相同字符串每次加密结果不一致,不可做查询条件

formatter:输出格式化,eg:{"formatter":"yyyy-MM-dd"}

日期时间字段,参照java标准日期格式化

字符串字段,可格式化为JSON,{"formatter":"json"}

fromto:从指定字段中取值,字段名前加上$表示强制取值,eg:{"fromto":"$field1:hash"}表示强制取field1字段值的hash值

{"fromto":"field1:hash"},表示从field1属性值中取哈希值

{"fromto":"field1:md5"},表示从field1属性值中取MD5值

{"fromto":"field1:sha1"},表示从field1属性值中取SHA1值

{"fromto":"field1:pinyin"},表示从field1属性值中取文件对应的拼音(全拼),超过最大长度时按最大长度截取

{"fromto":"field1:letter"},表示从field1属性值中取文件对应的拼音首字母,超过最大长度时按最大长度截取

====字符型字段

{"fromto":"field1:6"},表示从field1属性值中取最后6位

{"fromto":"field1:-6"},表示从field1属性值中取前6位

====日期型字段

{k}=y-年,m-月,d-天,h-小时

{"fromto":"field1:6{k}"},表示从field1属性值中取6{k}后的日期时间

{"fromto":"field1:-6{k}"},表示从field1属性值中取6{k}前的日期时间

====number型字段

{"fromto":"field1:6"},表示从field1属性值加上6后的值

{"fromto":"field1:-6"},表示从field1属性值减6后的值