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

embedded/2024/12/26 2:34:46/

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

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

                ② : 取值

                ③ : 组装对象

                ④ : 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*/@Overridepublic int onlyName(User user) {//调用登录的方法,传nameUser u = userDao.login(user.getUserName());//判断 0 存在 1不存在if (null==u){return 1;}return 0;}

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

/*** 唯一性校验* @param role* @return*/@Overridepublic 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*/@Overridepublic Role onlyName(String roleName) {//定义sqlString sql="SELECT *FROM t_role WHERE role_name=? ";//打印sqlSystem.out.println(sql);//执行sqlreturn baseQueryOne(Role.class,sql,roleName);}

 


http://www.ppmy.cn/embedded/148773.html

相关文章

SpringMVC的响应处理

文章目录 1、传统同步业务数据响应2、前后端分离异步业务数据响应 1、传统同步业务数据响应 Spring怎么给客户端响应数据,响应数据主要分为两大部分: 传统同步方式:准备好模型数据,在跳转到执行页面进行展示,此方式使…

如何创建属于自己的大语言模型:从零开始的指南

如何创建属于自己的大语言模型:从零开始的指南 为什么要创建自己的大语言模型? 随着人工智能的快速发展,大语言模型(LLM)在各种场景中表现出了卓越的能力,例如文本生成、对话交互和内容总结等。虽然市场上…

PHP 新手教程:从入门到构建简单网页

PHP 是一种服务器端脚本语言,广泛用于 Web 开发。今天教大家从零基础学习 PHP,并通过实际代码示例,帮助你理解核心概念并构建一个简单的网页。 一、准备工作 在开始学习之前,你需要: 文本编辑器: 任何文本编辑器都可…

数据分析的分类和EDIT思维框架

为了服务于企业不同层次的决策,商业数据分析过程需要提供相应的数据科学产出物。 一般而言,数据分析需要经历从需求层、数据层、分析层到输出层四个阶段。 第一个阶段是需求层——确定目标,具体目标需要依据具体的层次进行分析&#xff1a…

TDengine时序数据库

TDengine 现有版本 本地3.0,server收费 云数据库 TDengine cloud 云数据库收费,使用docker 如何在docker中使用TDengine 拉取镜像 docker pull tdengine/tdengine:latestdocker run -d -p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6044-6049:6044-6049 -p 6044-…

List深拷贝后,数据还是被串改

List深拷贝后数据还是被串改 List newList new ArrayList<>(oldList)newList.pushAll(oldList)你甚至想到了java8streamAPI以上还不行 List newList new ArrayList<>(oldList) 这是采用构造参数做到的深拷贝&#xff0c;是没问题的 newList.pushAll(oldList) …

前端 Docker 入门之:Docker + Nginx 部署 Vue3 应用

前言 如标题所示&#xff0c;本篇作为我在 Docker 实践后的一些记录与分享&#xff0c;文章的重点在于 Docker&#xff0c;可能会涉及到一些 Linux 的基本操作就不具体展开。 Docker 是啥&#xff1f; Docker 是一个开源的平台&#xff0c;用于开发、运输和运行应用程序。用…

多摩川编码器协议

多摩川编码器是一种常用的绝对值编码器&#xff0c;其协议基于485硬件接口的标准NRZ协议&#xff0c;通讯波特率为固定的2.5Mbps。以下是多摩川编码器协议的详细说明&#xff1a; 硬件接口 多摩川编码器使用RS485接口进行通信&#xff0c;接口定义如下&#xff1a; 5V供电&…