当前位置: 首页 > article >正文

项目搭建+姓名唯一性校验

一 : 添加时对姓名进行唯一性校验

                ① : 给姓名绑定一个改变事件

                ② : 取值

                ③ : 组装对象

                ④ : ajax (Controller定义对姓名唯一性校验的方法)

                        在成功回调函数里 判断姓名是否添加过(0=>已添加 1=>未添加) 

                        未添加过,添加成功后,(清空)

/**
       * 对姓名进行唯一性校验
       */
      $("#userName").change(function () {
          //取值
          let userName = $("#userName").val();
          //组装
          let obj={userName:userName}
          //ajax
          $.ajax({
              url: "/user/onlyName",
              type: "post",
              data: {reqInfos:JSON.stringify(obj)},
              dataType: "json",
              success(res) {
                  //打印
                  console.log(res)
                  if (res===1){
                      alert("不重复可以添加")
                      //结束
                      return
                  }else {
                      //存在给出提示
                      alert("此名称已存在,不允许再次添加")
                      $("#userName").val('')
                  }

              },
              error() {
                  alert("服务器出错")
              }
          })
      })

二 : Controller层  (添加时姓名进行唯一性校验) 

        ① : 接参

        ② : 将json对象还原成java对象

        ③ : 将转换后的对象传给service 

                重点 : 和登录的方法一样,返回值给 int 

        ④ : 将处理后的结果响应给用户

/**
     * 对姓名唯一性校验
     */
    protected void onlyName(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接参
        String reqInfos = req.getParameter("reqInfos");
        //将json对象转换成java对象
        User user = JSONObject.parseObject(reqInfos, User.class);
        //将转换后的对象传给service  0存在 1不存在
        int i= service.onlyName(user);
        //响应
        resp.getWriter().println(JSONObject.toJSONString(i));
    }


三 : service层 (添加时姓名进行唯一性校验) 

        ① : 调用dao层对象  ② : 处理返回值

                重点 : 如果有登录,直接调用登录的方法,不用再写dao层了

        ③ : 判断要添加的名字在数据库中是否存在

/**
     * 对姓名进行唯一性校验
     * @param user
     * @return
     */
    @Override
    public int onlyName(User user) {
        //调用登录的方法,传name
        User u = userDao.login(user.getUserName());
        //判断 0 存在 1不存在
        if (null==u){
            return 1;
        }
        return 0;
    }

没有登录的方法,定义唯一校验的方法

/**
     * 唯一性校验
     * @param role
     * @return
     */
    @Override
    public int onlyName(Role role) {
        //调用dao层对象 处理返回值
        Role r= roleDao.onlyName(role.getRoleName());
        //判断是否添加过
        if (null==r){
            // 1==>未添加
            return 1;
        }
        // 0==>已添加
        return 0;
    }

 四 : dao层(添加时姓名进行唯一性校验)

        ① : 有登录的方法,在service调用dao层方法时,调用登录的方法就可以了

        ② : 没有登录的方法,正常写dao层

/**
     * 唯一性校验
     * @param roleName
     * @return
     */
    @Override
    public Role onlyName(String roleName) {
        //定义sql
        String sql="SELECT *FROM t_role WHERE role_name=? ";
        //打印sql
        System.out.println(sql);
        //执行sql
        return baseQueryOne(Role.class,sql,roleName);
    }

 


http://www.kler.cn/a/448607.html

相关文章:

  • Unity 6 Preview(预览版)新增功能
  • 华为IPD流程6大阶段370个流程活动详解_第一阶段:概念阶段 — 81个活动
  • 【机器学习与数据挖掘实战】案例04:基于K-Means算法的信用卡高风险客户识别
  • 基于AT89C52单片机的6位电子密码锁设计
  • 条款33 对auto形参使用decltype以std::forward它们
  • PostgreSQL表达式的类型
  • CTF入门:以Hackademic-RTB1靶场为例初识夺旗
  • JavaIO 在 Android 中的应用
  • 基于三维先验知识的自监督医学图像分割方法
  • 在福昕(pdf)阅读器中导航到上次阅读页面的方法
  • vue3和element-plus笔记
  • 【刷题23】多源BFS
  • MFC/C++学习系列之简单记录——序列化机制
  • 《机器学习》支持向量机
  • Docker日志与监控
  • Maven的介绍以及安装,仓库的使用和在idea使用maven
  • [Unity Shader]【游戏开发】【图形渲染】Shader数学基础7-矩阵变换概览及其几何意义
  • 前端路由模式详解:Hash 模式、History 模式与 Memory 模式
  • 深度学习作业十一 LSTM
  • 【LeetCode】52、N 皇后 II
  • Python的sklearn中的RandomForestRegressor使用详解
  • MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
  • KMP模式匹配算法——详细讲解、清晰易懂
  • THM:Vulnerability Capstone[WriteUP]
  • Python中SKlearn的K-means使用详解
  • Flutter组件————Container