一、新建表结构
drop table if exists sys_student;
create table sys_student (
student_id int(11) auto_increment comment '编号',
student_name varchar(30) default '' comment '学生名称',
student_age int(3) default null comment '年龄',
student_sex char(1) default '0' comment '性别(0男 1女 2未知)',
student_status char(1) default '0' comment '状态(0正常 1停用)',
student_birthday datetime comment '生日',
remark varchar(500) default null comment '备注',
primary key (student_id)
) engine=innodb auto_increment=1 comment = '学生信息表';
二、登录系统(系统工具 -> 代码生成 -> 导入对应表)
三、代码生成列表中找到需要表(可预览、修改、删除生成配置)
四、解压生成的压缩包,将代码文件放到项目对应的位置。执行生成的SQL文件,会在系统工具目录生成新的菜单。
1.java代码放置
Controller层代码例外,需单独放到admin模块的system下
2.前端代码放置
五、更改前端页面代码
1.添加页面下拉框:
<select name="studentSex" class="form-control m-b">
<option value="">所有</option>
</select>
改为:
<select name="studentSex" class="form-control m-b" th:with="type=${@dict.getType('sys_user_sex')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
2.展示页显示正确的字典值:
- 在
<Script>
标签里添加这句以获取字典数据:
var studentSex = [[${@dict.getType('sys_user_sex')}]];
- 在
JQuery
函数里的colums
字段里的对应位置添加以下这句以格式化数据字典:
formatter: function(value, row, index) {
return $.table.selectDictLabel(studentSex, value);
}
3.编辑页面的性别数据回显:
- 先在
<select>
标签里加:th:with="type=${@dict.getType('sys_user_sex')}"
获取对应的字典值 - 然后在
<option>
里加:th:field="*{studentSex}"
选中对应的下拉框
<option th:field="*{studentSex}" th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
- 或者在
<option>
里加:th:selected="*{studentSex}==${dict.dictValue}"
选中对应的下拉框
<option th:selected="*{studentSex}==${dict.dictValue}" th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>