美文网首页
Mysql+Nodejs+Koa2+Vue+Quasar零起点教

Mysql+Nodejs+Koa2+Vue+Quasar零起点教

作者: 工程师54 | 来源:发表于2021-07-14 06:59 被阅读0次

    一、登录校验接口

    /*

           1、登录校验接口

    */

    delimiter $$

    DROP PROCEDURE IF EXISTS`test_db1`.`sp_logincheck`$$

    create procedure sp_logincheck(IN user_name1varchar(20),IN user_pwd1 varchar(50))

    label1:BEGIN

           DECLAREv_rows          INT ;

           DECLAREv_user_pwd         varchar(50) DEFAULT '' ;

           DECLAREv_user_fullname varchar(50) DEFAULT '';

           DECLAREerrcode         INT DEFAULT 0 ;

           DECLAREerrmsg          varchar(100) DEFAULT '' ;

           SELECTuser_pwd,user_fullname INTO v_user_pwd,v_user_fullname FROM t_login WHEREuser_name = user_name1  ;

           selectfound_rows() into v_rows ;

           IFv_rows = 0 THEN

                  SETerrcode = 1 ;

                  SETerrmsg  = '用户名不存在' ;

           ELSE

                  IFv_user_pwd <> user_pwd1 THEN

                         SETerrcode = 2 ;

                         SETerrmsg  = '密码错误' ;

                  ENDIF ;

           ENDIF ;

           SELECTerrcode,errmsg,v_user_fullname user_fullname ;

    END$$

    delimiter ;

    二、获取登录者姓名接口

    select user_fullname from t_login whereuser_name= ? 

    三、登录账号分页查询接口

    /*

           2、登录账号分页查询接口

    */

    delimiter $$

    DROP PROCEDURE IF EXISTS`test_db1`.`sp_userpagelist`$$

    create procedure sp_userpagelist(inuser_name1 varchar(20),in pageindex int,in pagesize int,in sortbyvarchar(20),in descending tinyint,out rowscount int,out pagescount int,outerrmsg varchar(100))

    BEGIN

           declarev_sql        varchar(3000) DEFAULT '' ;

           declarev_sortby_sql varchar(1000) DEFAULT '' ;

           seterrmsg = '' ;

           SETuser_name1 = TRIM(user_name1) ;

           setsortby = trim(sortby) ;

           --过滤语句

           IFlength(user_name1) > 0 THEN

                  SETv_sql = CONCAT('select sql_calc_found_rows * from t_login where user_name like''%',user_name1,'%'' ') ;

           ELSE

                  SETv_sql = CONCAT('select sql_calc_found_rows * from t_login ') ;

           ENDIF ;

           --##拼接排序语句

           ifsortby is not null and length(sortby) > 0 then

                  ifdescending = 1 then

                         setv_sortby_sql = concat(' order by ',sortby,' desc') ;

                  else

                         setv_sortby_sql = concat(' order by ',sortby) ;

                  endif ;

           else

                  ifdescending = 1 then

                         setv_sortby_sql = ' order by user_name desc ' ;

                  else

                         setv_sortby_sql = ' order by user_name ' ;

                  endif ;

           endif ;

           --形成最终语句

           iflength(v_sortby_sql) > 0 then

                  setv_sql = concat(v_sql,v_sortby_sql) ;

           endif ;

           setv_sql = concat(v_sql,' limit ',(pageindex-1)*pagesize,',',pagesize) ;

           --##执行形成结果集返回

           set@sqlselect = v_sql ;

           preparestmtselect from @sqlselect ;

           executestmtselect ;

           deallocateprepare stmtselect;

           selectfound_rows() into rowscount ;

           setpagescount = ceiling((rowscount+0.0)/pagesize);

           selectrowscount,pagescount,errmsg ;

    end$$

    delimiter ;

    四、学生信息分页查询接口

    /*

           3、学生信息分页查询接口

    */

    delimiter $$

    DROP PROCEDURE IF EXISTS`test_db1`.`sp_studentpagelist`$$

    create procedure sp_studentpagelist(instudent_name1 varchar(50),IN student_sex1 varchar(10),in pageindex int,inpagesize int,in sortby varchar(20),in descending tinyint,out rowscount int,outpagescount int,out errmsg varchar(100))

    BEGIN

           declarev_sql        varchar(3000) DEFAULT '' ;

           declarev_sortby_sql varchar(1000) DEFAULT '' ;

           declarev_where_sql  varchar(1000) DEFAULT '' ;

           seterrmsg = '' ;

           SETstudent_name1 = TRIM(student_name1) ;

           SETstudent_sex1 = TRIM(student_sex1) ;

           setsortby = trim(sortby) ;

           --过滤语句

           IFlength(student_name1) > 0 THEN

                  SETv_where_sql = CONCAT('student_name like ''%',student_name1,'%'' ') ;

           ENDIF ;

           IFlength(student_sex1) > 0 THEN

                  IFlength(v_where_sql) > 0 THEN

                         SETv_where_sql = CONCAT(v_where_sql,' and student_sex like ''%',student_sex1,'%''') ;

                  ELSE

                         SETv_where_sql = CONCAT('student_sex like ''%',student_sex1,'%'' ') ;

                  ENDIF ;       

           ENDIF ;

           IFlength(v_where_sql) > 0 THEN

                  SETv_sql = CONCAT('select sql_calc_found_rowsstudent_num,student_name,student_sex,date_format(student_birth, ''%Y-%m-%d'')student_birth from t_student where ',v_where_sql) ;

           ELSE

                  SETv_sql = CONCAT('select sql_calc_found_rowsstudent_num,student_name,student_sex,date_format(student_birth, ''%Y-%m-%d'')student_birth from t_student ') ;

           ENDIF ;

           --##拼接排序语句

           ifsortby is not null and length(sortby) > 0 then

                  ifdescending = 1 then

                         setv_sortby_sql = concat(' order by ',sortby,' desc') ;

                  else

                         setv_sortby_sql = concat(' order by ',sortby) ;

                  endif ;

           else

                  ifdescending = 1 then

                         setv_sortby_sql = ' order by student_num desc ' ;

                  else

                         setv_sortby_sql = ' order by student_num ' ;

                  endif ;

           endif ;

           --形成最终语句

           iflength(v_sortby_sql) > 0 then

                  setv_sql = concat(v_sql,v_sortby_sql) ;

           endif ;

           setv_sql = concat(v_sql,' limit ',(pageindex-1)*pagesize,',',pagesize) ;

           --##执行形成结果集返回

           set@sqlselect = v_sql ;

           preparestmtselect from @sqlselect ;

           executestmtselect ;

           deallocateprepare stmtselect;

           selectfound_rows() into rowscount ;

           setpagescount = ceiling((rowscount+0.0)/pagesize);

           selectrowscount,pagescount,errmsg ;

    end$$

    delimiter ;

    五、登录账号增删改接口

    /*

           4、登录账号增删改接口

    */

    delimiter $$

    DROP PROCEDURE IF EXISTS `test_db1`.`sp_updateuser`$$

    create procedure sp_updateuser(IN optypetinyint,IN user_name1 varchar(20),IN user_pwd1 varchar(50),IN user_fullname1varchar(50))

    label1:BEGIN

           DECLAREerrcode      INT DEFAULT 0 ;

           DECLAREerrmsg       varchar(100) DEFAULT '' ;

           declarecontinue handler for SQLEXCEPTION set errcode = 2;

           IFoptype = 1 THEN

                  --新增

                  IFEXISTS(SELECT * FROM t_login WHERE user_name = user_name1) THEN

                         SETerrcode = 1 ;

                         SETerrmsg  = '用户名已经存在' ;

                  ELSE

                         INSERTINTO t_login(user_name,user_pwd,user_fullname)VALUES(user_name1,user_pwd1,user_fullname1) ;

                  ENDIF ;

           ENDIF ;

           IFoptype = 2 THEN

                  --修改

                  IFNOT EXISTS(SELECT * FROM t_login WHERE user_name = user_name1) THEN

                         SETerrcode = 2 ;

                         SETerrmsg  = '用户名不存在' ;

                  ELSE

                         UPDATEt_login SET user_pwd = user_pwd1,user_fullname=user_fullname1 WHERE user_name =user_name1 ;

                  ENDIF ;

           ENDIF ;

           IFoptype = 3 THEN

                  --删除

                  IFNOT EXISTS(SELECT * FROM t_login WHERE user_name = user_name1) THEN

                         SETerrcode = 3 ;

                         SETerrmsg  = '用户名不存在' ;

                  ELSE

                         DELETEFROM  t_login  WHERE user_name = user_name1 ;

                  ENDIF ;

           ENDIF ;

           SELECTerrcode,errmsg ;

    END$$

    delimiter ;

    六、学生信息增删改接口

    /*

           5、学生信息增删改接口

    */

    delimiter $$

    DROP PROCEDURE IF EXISTS `test_db1`.`sp_updatestudent`$$

    create procedure sp_updatestudent(IN optypetinyint,IN student_num1 bigint,IN student_name1 varchar(50),IN student_sex1varchar(10),IN student_birth1 VARCHAR(10))

    label1:BEGIN

           DECLAREerrcode      INT DEFAULT 0 ;

           DECLAREerrmsg       varchar(100) DEFAULT '' ;

           declarecontinue handler for SQLEXCEPTION set errcode = 2;

           IFoptype = 1 THEN

                  --新增

                  IFEXISTS(SELECT * FROM t_student WHERE student_num = student_num1) THEN

                         SETerrcode = 1 ;

                         SETerrmsg  = '该学生已经存在' ;

                  ELSE

                         INSERTINTO t_student(student_num,student_name,student_sex,student_birth)VALUES(student_num1,student_name1,student_sex1,student_birth1) ;

                  ENDIF ;

           ENDIF ;

           IFoptype = 2 THEN

                  --修改

                  IFNOT EXISTS(SELECT * FROM t_student WHERE student_num = student_num1) THEN

                         SETerrcode = 2 ;

                         SETerrmsg  = '该学生不存在' ;

                  ELSE

                         UPDATEt_student SET student_name = student_name1,student_sex=student_sex1,student_birth=student_birth1WHERE student_num = student_num1 ;

                  ENDIF ;

           ENDIF ;

           IFoptype = 3 THEN

                  --删除

                  IFNOT EXISTS(SELECT * FROM t_student WHERE student_num = student_num1) THEN

                         SETerrcode = 3 ;

                         SET errmsg  = '该学生不存在' ;

                  ELSE

                         DELETEFROM  t_student  WHERE student_num = student_num1 ;

                  ENDIF ;

           ENDIF ;

           SELECTerrcode,errmsg ;

    END$$

    delimiter ;

    相关文章

      网友评论

          本文标题:Mysql+Nodejs+Koa2+Vue+Quasar零起点教

          本文链接:https://www.haomeiwen.com/subject/zggkpltx.html