全部开发者教程

企业级在线办公系统

添加新会议室是在弹窗页面里面填写会议室的信息,因为内容比较简单,所以我们写起来非常容易。

图片描述

一、编写持久层代码

TbMeetingRoomDao.xml文件中,定义SQL语句。

<insert id="insert" parameterType="com.example.emos.api.db.pojo.TbMeetingRoom">
    INSERT INTO tb_meeting_room
    SET name=#{name},
    max=#{max}
    <if test="desc!=null">
        ,`desc`=#{desc}
    </if>
    <if test="status!=null">
        ,status=#{status}
    </if>
</insert>

TbMeetingRoomDao.java接口中,声明抽象DAO方法。

public interface TbMeetingRoomDao {
    ……
    public int insert(TbMeetingRoom meetingRoom);
}

二、编写业务层代码

MeetingRoomService.java接口中,定义抽象方法。

public interface MeetingRoomService {
    ……
    public int insert(TbMeetingRoom meetingRoom);
}

MeetingRoomServiceImpl.java类中,实现抽象方法。

public class MeetingRoomServiceImpl implements MeetingRoomService {
    ……
    @Override
    public int insert(TbMeetingRoom meetingRoom) {
        int rows = meetingRoomDao.insert(meetingRoom);
        return rows;
    }
}

三、编写Web层代码

创建InsertMeetingRoomForm.java类,用于封装Ajax提交的数据。

@Data
@Schema(description = "添加会议室表单")
public class InsertMeetingRoomForm {
    @NotBlank(message = "name不能为空")
    @Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5]{2,20}$",message = "name内容不正确")
    @Schema(description = "会议室名称")
    private String name;

    @NotNull(message = "max不能为空")
    @Range(min = 1, max = 99999,message = "max必须在1~99999之间")
    @Schema(description = "人数上限")
    private String max;

    @Length(max = 20,message = "desc不能超过20个字符")
    @Schema(description = "备注")
    private String desc;

    @Schema(description = "状态")
    private Boolean status;
}

MeetingRoomController.java类中,定义Web方法。利用Swagger先登录系统,然后测试Web方法。

public class MeetingRoomController {
    ……
    @PostMapping("/insert")
    @Operation(summary = "添加会议室")
    @SaCheckPermission(value = {"ROOT", "MEETING_ROOM:INSERT"}, mode = SaMode.OR)
    public R insert(@Valid @RequestBody InsertMeetingRoomForm form) {
        TbMeetingRoom meetingRoom = JSONUtil.parse(form).toBean(TbMeetingRoom.class);
        int rows = meetingRoomService.insert(meetingRoom);
        return R.ok().put("rows", rows);
    }
}