MySQL数据库规范公有字段规范
- 1 项目中所涉及到的表结构都需要增加创建时间和修改时间
- 2 项目中所涉及到的用户表中的id,都使用user_id
- 3 项目中所涉及到的记录的状态信息,必须使用枚举类型(对应java枚举类)
- 4 项目中所涉及到货币单位表示都使用decimal类型,并且保留8位小数
- 5 项目中所涉及到的账户流水表,请使用_record作为后缀,如果是普通操作日志或者系统记录日志请使用_log后缀
关键字段定义如下:
字段名 | 类型 | 备注 |
---|---|---|
id | bigint(20) | 自增长 |
create_time | datetime | 创建时间 |
update_time | datetime | 修改时间 |
user_id | bigint(20) | 用户id |
amount | decimal(20,8) | 货币类型金额 |
method | varchar(64) | 支付方式 参见PaymentMethod |
status | varchar(64) | 状态信息 说明:PUBLIC 正常 DELETED 删除 LOCKED 锁定 |
时间处理相关
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '本记录最后修改时间',
在mybatis的*Mapper.xml文件中统一使用now()函数,如下:
插入操作时间更新
<sql id="Base_Column_List">
id, openid, mobile, user_id, create_time, update_time
</sql>
<insert id="insert" parameterType="UserWechatPo">
INSERT INTO user_wechat
(openid, mobile,user_id, create_time, update_time)
VALUES
(#{openid}, #{mobile}, #{userId}, now(), now())
</insert>
更新操作时间更新
<update id="update" parameterType="WechatMessage">
UPDATE
wechat_message
<set>
<if test="status != null">
status = #{status},
</if>
update_time = now()
</set>
WHERE id = #{id}
</update>