民宿管理系统6

发布于:2025-05-08 ⋅ 阅读:(16) ⋅ 点赞:(0)

普通管理员管理:

新增普通管理员:

前端效果:

前端代码:

<body>
<div class="layui-fluid">
    <div class="layui-row">
        <div class="layui-form">


                  <div class="layui-form-item">
                    <label for="loginname" class="layui-form-label">
                      <span class="x-red">*</span>登录名</label>
                    <div class="layui-input-inline">
                      <input type="text" id="loginname" name="loginname" lay-verify="required|loginname" class="layui-input">
                    </div>
                  </div>


            <div class="layui-form-item">
                <label for="L_loginpassword" class="layui-form-label">
                    <span class="x-red">*</span>设置登录密码</label>
                <div class="layui-input-inline">
                    <input type="password" id="L_loginpassword" name="loginpassword" lay-verify="required|loginpassword" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="L_confirmloginpassword" class="layui-form-label">
                    <span class="x-red">*</span>确认密码</label>
                <div class="layui-input-inline">
                    <input type="password" id="L_confirmloginpassword" name="confirmloginpassword" lay-verify="required|confirmloginpassword" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label"></label>
                <button class="layui-btn" lay-filter="submit" lay-submit="">保存</button>
            </div>


        </div>
    </div>
</div>

<script>
    layui.use(['form', 'layer', 'upload'], function () {
        $ = layui.jquery;
        var form = layui.form,
            upload = layui.upload,
            layer = layui.layer;

        //自定义验证规则
        form.verify({
            loginname: function (value) {
                var code;
                $.ajax({
                    url: "/smalladmin/checkloginname",
                    type: "GET",
                    async: false,  //关闭异步,当success返回结果后才执行ajax之后的内容
                    data: {"loginname": value},
                    success: function (s) {
                        code = s;
                    }
                });
                if (code != true) {
                    return '登录名重复,请重新输入!';
                }
            },
            loginpassword: [/(.+){6,12}$/, '密码必须6到12位'],
            confirmloginpassword: function () {
              if ($('#L_confirmloginpassword').val() != $('#L_loginpassword').val()) {
                return '两次密码不一致';
              }
            }
        });

        //监听提交
        form.on('submit(submit)', function (data) {
            console.log(data.field);
            $.ajax({
                url: "/smalladmin/addadmin",
                type: "post",
                data: data.field,
                success: function (s) {
                    if (s == true) {
                        layer.alert("新增普通管理员信息成功!", {
                            icon: 6
                        }, function () {
                            parent.layer.closeAll();
                            parent.location.href = "/admin/sysindex";

                        });
                    } else {
                        layer.msg("登录名重复!", function () {
                        });
                    }
                },
                error: function () {
                    layer.msg("接口异常!", function () {
                    });
                }
            });
        });
    });
</script>

</body>

后端代码:

SmalladminController
/**
     * 超级管理员,新增普通管理员页面
     */
    @GetMapping("/addadminpage")
    public String adduserpage() {
        return "smalladmin/addadminpage";
    }

    /**
     * 超级管理员新增普通管理员,判断新增普通管理员登录名是否重复
     */
    @GetMapping("/checkloginname")
    @ResponseBody
    public boolean checkaddadminloginname(@RequestParam("loginname") String loginname) {
        return smalladminService.checkaddadminloginname(loginname);
    }

    /**
     * 超级管理员新增普通管理员信息
     */
    @PostMapping("/addadmin")
    @ResponseBody
    public boolean addadmin(@RequestParam("loginname") String loginname,@RequestParam("loginpassword") String loginpassword,@RequestParam("confirmloginpassword") String confirmloginpassword) {
        return smalladminService.addadmin(loginname,loginpassword);
    }
    @GetMapping("/updateadminpage")
    public String updateadminpage() {
        return "smalladmin/updateadminpage";
    }
SmalladminService
/**
     * 超级管理员新增普通管理员,判断新增普通管理员登录名是否重复
     */
    boolean checkaddadminloginname(String loginname);
    /**
     * 超级管理员新增普通管理员信息
     */
    boolean addadmin(String loginname, String loginpassword);
SmalladminServicelpml
/**
     * 超级管理员新增普通管理员,判断新增普通管理员登录名是否重复
     */
    @Override
    public boolean checkaddadminloginname(String loginname) {
        Smalladmin smalladmin=smalladminMapper.selectaddadminloginname(loginname);
        return smalladmin==null;
    }

    /**
     * 超级管理员新增普通管理员信息
     */
    @Override
    public boolean addadmin(String loginname, String loginpassword) {
       return smalladminMapper.addsmalladmin(loginname,loginpassword);
    }
SmalladminMapper
/**
     * 超级管理员新增普通管理员时,检查登录名是否重复
     * @param loginname
     * @return
     */
    Smalladmin selectaddadminloginname(String loginname);

    /**
     * 超级管理员新增普通管理员信息
     * @param loginname
     * @param loginpassword
     * @return
     */
    boolean addsmalladmin(@Param("loginname") String loginname,@Param("loginpassword") String loginpassword);

SmalladminMapper.xml

  <select id="selectaddadminloginname" resultType="com.homestay.pojo.Smalladmin">
      select
          <include refid="Base_Column_List"></include>
          from smalladmin
      where sname=#{loginname}
    </select>
  <insert id="addsmalladmin">
    insert into smalladmin(sname,spassword)
    values (#{loginname},#{loginpassword})
  </insert>

测试:

登录名重复:

必填项为空:

两次密码不一样:

新增成功:

普通管理员分页查询:

前端效果:

前端代码:

<body>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-body ">
                    <form class="layui-form layui-col-space5">
                        <div class="layui-inline layui-show-xs-block">
                            <input type="text" name="dname" placeholder="管理员名称" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-inline layui-show-xs-block">
                            <button class="layui-btn" lay-submit="" lay-filter="search_btn">
                                <i class="layui-icon">&#xe615;</i>
                            </button>
                        </div>
                        <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="reload();" title="刷新">
                            <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i>
                        </a>
                    </form>
                </div>
                <div class="layui-card-body ">
                    <table id="departmenList" lay-filter="departmenList"></table>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="text/html" id="departmenListBar">
    <a class="layui-btn layui-btn-xs" lay-event="edit" >编辑</a>
    <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del">删除</a>
</script>

<script type="text/javascript" th:inline="javascript">
    layui.use(['form', 'layer', 'table'], function () {
        var form = layui.form,
            layer = layui.layer,
            $ = layui.jquery,
            table = layui.table;
        var tableIns = table.render({
            elem: '#departmenList',
            url: '/smalladmin/pagequarysmalladmin',
            method: 'get',
            title: '管理员列表',
            page: true,  //开启分页
            height: "full-110",  //高度最大化减去差值110,高度将始终铺满
            // toolbar: true,  //开启工具栏
            limit:10,  //每页显示的条数
            limits: [5,10,20,30],  //每页条数的选择项
            cols:
                [
                    [
                    {type: 'checkbox', field: 'sid', fixed: "left"},
                    {field: 'sid', title: '普通管理员id', align: "center", unresize: "true"},
                        {
                            field: 'sphoto',
                            title: '普通管理员头像',
                            align: 'center',
                            unresize: "true",
                            templet: function(d) {
                                // 如果 uphoto 是图片URL,直接渲染为 <img> 标签
                                return '<img src="' + d.sphoto + '" style="width: 40px; height: 40px; border-radius: 50%;" />';
                            }
                        },
                    {field: 'sname', title: '普通管理员名称', align: 'center', unresize: "true"},
                        {
                            field: 'spassword',
                            title: '普通管理员密码',
                            align: 'center',
                            unresize: "true"
                        },
                    {title: '操作', align: "center", unresize: "true", toolbar: "#departmenListBar"}
                    ]
                ]
        });

        //搜索
        form.on('submit(search_btn)', function (data) {
            tableIns.reload({
                url: '/smalladmin/listbyname',
                where: data.field
                , page: {
                    curr: 1 //重新从第 1 页开始
                }
            });
            return false;
        });

        //监听工具条
        table.on('tool(departmenList)', function (obj) {
            var data = obj.data, //获得当前行数据
                layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)

            switch (layEvent) {
                case 'del':
                    layer.confirm('确定删除此管理员?', {icon: 3, title: '提示信息'}, function (index) {
                        $.post("/smalladmin/delete",
                            {
                                // "nid": $('#nid').val()
                                "sid":data.sid
                            },
                            function (success) {  // 直接接收布尔值
                                if (success) {
                                    layer.msg('删除管理员成功', {icon: 1});
                                    // 删除成功后刷新父窗口
                                    setTimeout(function() {
                                        xadmin.father_reload();
                                    }, 1000);
                                } else {
                                    layer.msg('删除管理员失败', {icon: 2});
                                }
                            }
                        );
                        layer.close(index);
                    });
                    return false;// 阻止默认行为
                    break;
                // case 'edit':
                //     xadmin.open('管理员编辑', '/admin/checkadminpasswordpage?gid=' + data.gid, 450, 300);
                //     break;
                case 'edit':
                    // 构造完整的编辑URL,包含所有参数
                    var editUrl = '/smalladmin/updatesmalladminpage?sid=' + data.sid
                        + '&sphoto=' + encodeURIComponent(data.sphoto || '')
                        + '&sname=' + encodeURIComponent(data.sname || '')
                        + '&spassword=' + encodeURIComponent(data.spassword || '');

                    // 打开编辑窗口(调整弹窗大小以适应内容)
                    xadmin.open('普通员工编辑', editUrl, 800, 550);
                    break;
                default:
                    break;
            }
        });
    });


    function reload() {
        $.get("/smalladmin/reload", function (data) {
            if (data) {
                location.reload();
            } else {
                parent.location.reload();
            }
        });
    }
</script>
</body>

后端代码:

SmalladminController:
/**
     * 超级管理员编辑普通管理员,分页查询
     */
    @GetMapping("/pagequarysmalladmin")
    @ResponseBody
    public Result pagequarysmalladmin(@RequestParam Map<String,Object> map) {
        int page = Integer.parseInt(map.get("page").toString());
        int limit = Integer.parseInt(map.get("limit").toString());
        int start=(page-1)*limit;
        return smalladminService.getsmalladminList(start,limit);
    }
SmalladminService
/**
     * 分页查询普通管理员
     * @param start
     * @param limit
     * @return
     */
    Result getsmalladminList(int start, int limit);
SmalladminServicelpml
/**
     * 分页查询普通管理员
     * @param start
     * @param limit
     * @return
     */
    @Override
    public Result getsmalladminList(int start, int limit) {
        int countsmalladmin=smalladminMapper.countsmalladmin();
        List<Smalladmin> smalladmins=smalladminMapper.selectsmalladmin(start,limit);
        Result result=new Result();
        result.setData(smalladmins);
        result.setCount(countsmalladmin);
        result.setMsg("查询成功");
        result.setCode(0);
        return result;
    }
SmalladminMapper:
 /**
     * 获取普通管理员总数
     * @return
     */
    int countsmalladmin();

    /**
     * 分页查询,获取数据
     * @param start
     * @param limit
     * @return
     */
    List<Smalladmin> selectsmalladmin(@Param("start") int start, @Param("limit") int limit);

SmalladminMapper.xml

  <select id="countsmalladmin" resultType="java.lang.Integer">
    select count(*) from smalladmin
  </select>
  <select id="selectsmalladmin" resultType="com.homestay.pojo.Smalladmin">
    select
        <include refid="Base_Column_List"></include>
    from smalladmin
    order by sid
    limit #{start},#{limit}
  </select>

测试:

一页5条:

一页10条:

模糊查询:

后端代码:

SmalladminController
 /**
     * 模糊查询
     */
    @GetMapping("/listbyname")
    @ResponseBody
    public Result listbyname(@RequestParam Map<String,Object> map) {
        int page = Integer.parseInt(map.get("page").toString());
        int limit = Integer.parseInt(map.get("limit").toString());
        int start=(page-1)*limit;
        String dname=map.get("dname").toString();
        return smalladminService.listbyname(dname,start,limit);
    }
SmalladminService
/**
     * 模糊查询
     * @param dname
     * @param start
     * @param limit
     * @return
     */
    Result listbyname(String dname, int start, int limit);
SmalladminServicelpml
 /**
     * 模糊查询
     * @param dname
     * @param start
     * @param limit
     * @return
     */
    @Override
    public Result listbyname(String dname, int start, int limit) {
        int countsmalladmin=smalladminMapper.countsmalladminbyname(dname);
        List<Smalladmin> smalladmins=smalladminMapper.selectsmalladminbyname(dname,start,limit);
        Result result=new Result();
        result.setData(smalladmins);
        result.setCount(countsmalladmin);
        result.setMsg("查询成功");
        result.setCode(0);
        return result;
    }
SmalladminMapper
/**
     * 模糊查询获取名总数
     * @param dname
     * @return
     */
    int countsmalladminbyname(@Param("dname") String dname);

    /**
     * 模糊查询
     * @param dname
     * @param start
     * @param limit
     * @return
     */
    List<Smalladmin> selectsmalladminbyname(@Param("dname") String dname, @Param("start") int start, @Param("limit") int limit);
 SmalladminMapper.xml
    <select id="countsmalladminbyname" resultType="java.lang.Integer">
      select count(*)
      from smalladmin
      where sname like concat('%',#{dname},'%')
    </select>
  <select id="selectsmalladminbyname" resultType="com.homestay.pojo.Smalladmin">
    select
        <include refid="Base_Column_List"></include>
        from smalladmin
    where sname like concat('%',#{dname},'%')
    order by sid
    limit #{start},#{limit}
  </select>

测试:

删除普通管理员

后端代码:

SmalladminController
/**
     * 删除普通管理员
     * @param sid
     * @return
     */
    @PostMapping("/delete")
    @ResponseBody
    public boolean delete(@RequestParam("sid") int sid) {
        return smalladminService.deletesmalladmin(sid);
    }
SmalladminService
/**
     * 删除普通管理员
     * @param sid
     * @return
     */
    boolean deletesmalladmin(int sid);
SmalladminServicelpml
/**
     * 删除普通管理员
     * @param sid
     * @return
     */
    @Override
    public boolean deletesmalladmin(int sid) {
        return smalladminMapper.deletesmalladmin(sid);
    }
SmalladminMapper
/**
     * 删除普通管理员
     * @param sid
     * @return
     */
    boolean deletesmalladmin(int sid);
SmalladminMapper.xml
  <delete id="deletesmalladmin">
    delete from smalladmin
    where sid = #{sid,jdbcType=INTEGER}
  </delete>

测试

编辑普通管理员:

前端效果

前端代码

<body>
<div class="layui-fluid">
    <div class="layui-row">

        <div class="layui-form">
            <div class="layui-form-item">
                <label class="layui-form-label">普通管理员头像</label>
                <div class="img-upload-area">
                    <img class="layui-upload-img" id="nphoto" th:src="${session.smallphoto}">
                    <div class="upload-btn-group">
                        <button type="button" class="layui-btn layui-btn-primary" id="choiceImg">
                            <i class="layui-icon">&#xe67c;</i>选择图片
                        </button>
                        <button type="button" class="layui-btn" id="uploadImg">
                            <i class="layui-icon">&#xe67c;</i>上传图片
                        </button>
                    </div>
                </div>
                <p id="uploadErrorText" style="margin-left: 120px; color: var(--error-color);"></p>
            </div>

            <div class="layui-form-item">
                <label for="sid" class="layui-form-label">
                    <span class="x-red">*</span>普通管理员id</label>
                <div class="layui-input-inline">
                    <input type="text" id="sid" name="sid" class="layui-input" readonly="readonly" th:value="${session.sid}">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="updatesmallname" class="layui-form-label">
                    <span class="x-red">*</span>修改登录名</label>
                <div class="layui-input-inline">
                    <input type="text" id="updatesmallname" name="updatesmallname" lay-verify="required|loginname" class="layui-input" th:value="${sname}">
                </div>
            </div>


            <div class="layui-form-item">
                <label for="updatesmallloginpassword" class="layui-form-label">
                    <span class="x-red">*</span>修改登录密码</label>
                <div class="layui-input-inline">
                    <input type="password" id="updatesmallloginpassword" name="updatesmallloginpassword" lay-verify="required|updatesmallloginpassword" class="layui-input" th:value="${spassword}">
                </div>
            </div>

            <div class="layui-form-item">
                <label for="confirmloginpassword" class="layui-form-label">
                    <span class="x-red">*</span>确认密码</label>
                <div class="layui-input-inline">
                    <input type="password" id="confirmloginpassword" name="confirmloginpassword" lay-verify="required|confirmloginpassword" class="layui-input">
                </div>
            </div>

            <div class="layui-form-item">
                <label class="layui-form-label"></label>
                <button class="layui-btn" lay-filter="submit" lay-submit="" id="submit">
                    <i class="layui-icon">&#xe605;</i> 保存修改
                </button>
            </div>
        </div>
    </div>
</div>
<script>
    layui.use(['form', 'layer', 'upload'], function () {
        $ = layui.jquery;
        var form = layui.form,
            upload = layui.upload,
            layer = layui.layer;

        // 表单验证
        form.verify({
            required: function(value) {
                if(value.trim() === '') {
                    return '此项不能为空';
                }
            }
        });

        //选完文件后不自动上传
        var uploadInst = upload.render({
            elem: '#choiceImg',
            url: '/smalladmin/upload/updatesmalladminphoto',
            auto: false,
            bindAction: '#uploadImg',
            choose: function (obj) {
                obj.preview(function (index, file, result) {
                    $('#nphoto').attr('src', result);
                });
            },
            before: function() {
                layer.load(1, {
                    shade: [0.1, '#fff']
                });
            },
            done: function (res) {
                layer.closeAll('loading');
                if (res == true) {
                    layer.msg('上传成功', {icon: 1});
                } else {
                    layer.msg('上传失败', {icon: 2});
                }
            },
            error: function () {
                layer.closeAll('loading');
                var uploadErrorText = $('#uploadErrorText');
                uploadErrorText.html('<span style="color: var(--error-color);">上传失败,请重试</span>');
            }
        });

        //自定义验证规则
        form.verify({
            // oldPwd: function (value) {
            //     var code;
            //     $.ajax({
            //         url: "/admin/password",
            //         type: "GET",
            //         async: false,  //关闭异步,当success返回结果后才执行ajax之后的内容
            //         data: {"oldPwd": value},
            //         success: function (s) {
            //             code = s;
            //         }
            //     });
            //     if (code != true) {
            //         return '旧密码错误,请重新输入!';
            //     }
            // },
            updatesmallloginpassword: [/(.+){6,12}$/, '密码必须6到12位'],
            confirmloginpassword: function () {
                if ($('#updatesmallloginpassword').val() != $('#confirmloginpassword').val()) {
                    return '两次密码不一致';
                }
            }
        });

        //监听提交
        form.on('submit(submit)', function (data) {
            var loadIndex = layer.load(2, {shade: [0.1, '#fff']});

            $.ajax({
                url: "/smalladmin/updatesmalladmininformation",
                type: "post",
                data: data.field,
                success: function (s) {
                    layer.close(loadIndex);
                    if (s == true) {
                        layer.alert("普通管理员信息修改成功!", {
                            icon: 1,
                            title: '成功',
                            skin: 'layui-layer-molv'
                        }, function () {
                            parent.layer.closeAll();
                            parent.location.reload();
                        });
                    } else {
                        layer.msg("登录名重复,普通管理员信息修改失败!", {icon: 2});
                    }
                },
                error: function () {
                    layer.close(loadIndex);
                    layer.msg("请求失败,请检查网络连接", {icon: 2});
                }
            });
            return false;
        });
    });
</script>
</body>

后端代码:

SmalladminController
/**
     * 修改普通管理员页面
     * @return
     */
    @GetMapping("/updatesmalladminpage")
    public String updatesmalladminpage(@RequestParam("sid")String sid, @RequestParam("sname")String sname,
                                       @RequestParam("spassword")String spassword, HttpSession session,
                                       @RequestParam("sphoto")String sphoto, Model model) {
        model.addAttribute("sid", sid);
        model.addAttribute("sname", sname);
        model.addAttribute("spassword", spassword);
        model.addAttribute("sphoto", sphoto);
        session.setAttribute("smallphoto",sphoto);
        session.setAttribute("sid",sid);
        return "smalladmin/updatesmalladminpage";
    }

    /**
     * 修改普通管理员信息
     * @param sid
     * @param sname
     * @return
     */
    @PostMapping("/updatesmalladmininformation")
    @ResponseBody
    public boolean updatesmalladmininformation(@RequestParam("sid")String sid,@RequestParam("updatesmallname")String sname,@RequestParam("updatesmallloginpassword")String spassword,HttpSession session)
    {
        return smalladminService.updatesmalladmin(sid,sname,spassword);
    }
    @PostMapping({"/upload/updatesmalladminphoto"})
    @ResponseBody
    public boolean updatesmalladminphoto(HttpServletRequest request, @RequestParam("file")
    MultipartFile file, HttpSession session, Model model) throws IOException, URISyntaxException
    {
        /*1、给文件起一个新的文件名--------------------*/
        String suffixName = UploadFileUtils.getSuffixName(file);
        String newFileName = UploadFileUtils.getNewFileName(suffixName);
        /*-----------------------------------------*/
        /*2.在本机(或服务器)创建一个文件夹-----------*/
        String realPath = System.getProperty("user.dir") + "\\upload\\";
//System.getProperty("user.dir")获取该项目在本机上的绝对路径,比如“C:\java\demo”
//realPath:图片在服务器上的物理存储地址,比如“C:\java\demo\\upload”
        File fileDirectory = new File(realPath); //在内存中创建文件夹映射对象,比如“C:\java\demo\\upload”
        File destFile = new File(realPath + newFileName); //在内存中创建文件映射对象,比如“C:\java\demo\\upload\xxxx.jpg”
        if (!fileDirectory.exists() && !fileDirectory.mkdirs()) {
            System.out.println("文件夹创建失败!");
            return false;
        }
        /*-----------------------------------------*/
        /*3.把file以新文件名形式存入本机(或服务器)文件夹-----*/
        file.transferTo(destFile);
        /*----------------------------------------------*/
        /*4.创建能访问该文件的URL地址(不是电脑的物理地址、不是绝对路径)放入数据库表-----*/
//new URI()生成一个统一资源定位地址,例如URL,如果语法不正确则抛出异常
        URI uri = new URI(request.getRequestURL() + "");
//http://localhost:8081/admin/upload/userImg/
        uri = UploadFileUtils.getHost(uri); //http://localhost:8081
        String sqlImg = uri + "/upload/" + newFileName; //sqlImg:存入数据库表中的图片地址,比如“http://localhost:8081/upload/xxxx.jpg”
        if (smalladminService.updatesmalladminphoto(session.getAttribute("sid").toString(), sqlImg)) {
            session.setAttribute("smalladminphoto", sqlImg);
            return true;
        } else {
            return false;
        }
        /*--------------------------------------------------------------------*/
    }
SmalladminService
 /**
     * 修改普通管理员信息
     * @param sid
     * @param sname
     * @param spassword
     * @return
     */
    boolean updatesmalladmin(String sid, String sname, String spassword);

    /**
     * 改照片
     * @param sid
     * @param sqlImg
     * @return
     */
    boolean updatesmalladminphoto(String sid, String sqlImg);
SmalladminServicelpml
/**
     * 修改普通管理员信息
     * @param sid
     * @param sname
     * @param spassword
     * @return
     */
    @Override
    public boolean updatesmalladmin(String sid, String sname, String spassword) {
        try {
            int countsmalladminname=smalladminMapper.countsmalladminname(sid,sname);//判断登录名是否重复
            if(countsmalladminname>0)
            {
                throw new RuntimeException("登录名重复");
            }
        } catch (RuntimeException e) {
            return false;
        }
        smalladminMapper.updatesmalladmin(sid,sname,spassword);
        return true;
    }

    /**
     * 修改头像
     * @param sid
     * @param sqlImg
     * @return
     */
    @Override
    public boolean updatesmalladminphoto(String sid,  String sqlImg) {
        return smalladminMapper.updatesmalladminphoto(sid,sqlImg);
    }
SmalladminMapper
/**
     * 修改头像
     * @param sid
     * @param sqlImg
     * @return
     */
    boolean updatesmalladminphoto(@Param("sid")String sid,@Param("sqlImg") String sqlImg);

    /**
     * 检查登录名是否重复
     * @param sid
     * @param sname
     * @return
     */
    int countsmalladminname(@Param("sid")String sid,@Param("sname") String sname);

    /**
     * 修改普通管理员信息
     * @param sid
     * @param sname
     * @param spassword
     */
    void updatesmalladmin(@Param("sid") String sid,@Param("sname") String sname,@Param("spassword") String spassword);
SmalladminMapper.xml
  <update id="updatesmalladminphoto">
    update smalladmin
    set sphoto=#{sqlImg}
    where sid=#{sid}
  </update>
  <select id="countsmalladminname" resultType="java.lang.Integer">
    select count(*)
    from smalladmin
    where sname=#{sname} and sid!=#{sid}
  </select>
  <update id="updatesmalladmin">
    update smalladmin
    set sname=#{sname},spassword=#{spassword}
    where sid=#{sid}
  </update>

测试:

登录名重复

密码不一样

必填项为空

修改成功


网站公告

今日签到

点亮在社区的每一天
去签到