## 测试表结构定义如下
~~~sql
CREATE TABLE `pre_admin` (
`id` int(10) UNSIGNED NOT NULL PRIMARY AUTO_INCREMENT COMMENT 'ID',
`username` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '{"label":"用户名","searchType":"LIKE"}',
`nickname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '昵称',
`password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码',
`salt` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码盐',
`avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '头像',
`email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '电子邮箱',
`loginfailure` tinyint(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '失败次数',
`logintime` int(10) DEFAULT NULL COMMENT '登录时间',
`loginip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '登录IP',
`createtime` int(10) DEFAULT NULL COMMENT '{"label":"创建时间","viewProperties":{"prop":"createTime"},"viewType":"dateTime"}',
`updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
`token` varchar(59) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Session标识',
`status` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '{"label":"用户状态","searchType":"LIKE","viewType":"enum","viewOptions":{"normal":{"text":"正常","style":"success"},"hidden":{"text":"禁用","style":"danger"}}}'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员表';
~~~
Swoft CRUD采取列定义+注释的方式来决策前端文件中使用何种UI元素.由于mysql列的默认类型为varchar(1024),因此注释长度需要控制在1024字节以内.但一般来说是够用了.
注释采用JSON格式与Swoft CRUD进行数据交互,如果注释不是一个合法的JSON字符串,那么整个注释内容将会被当作label属性的值,举例:
```
//当注释内容为
用户名
//则与下面写法等效
{"label":"用户名"}
```