文章目录

  • 前言
  • 山东医院笔记
  • 1.实现登录
    • login.hml
    • UserMapper.xml
    • UserController
    • UserService:接口
    • UserServiceImpl:实现
    • UserMapper
  • 总结

前言

山东医院笔记

1.实现登录

login.hml

1.由ajax发送请求的url和数据data给UserController

url:/login
data:{uLoginname:uLoginname,uPassword:uPassword
}

UserMapper.xml

需要查询到的是对象,所以SQL语句的书写形式不太正常,通过对象携带所有根据条件查询到的所有数据

  <!--添加的 要查询的是对象--><select id="selectUser" parameterType="com.yhp.bean.User" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from userwhereu_loginName=#{uLoginname} and u_passWord=#{uPassword}</select>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yhp.dao.UserMapper"><resultMap id="BaseResultMap" type="com.yhp.bean.User"><id column="u_id" jdbcType="INTEGER" property="uId" /><result column="u_loginName" jdbcType="VARCHAR" property="uLoginname" /><result column="u_passWord" jdbcType="VARCHAR" property="uPassword" /><result column="u_trueName" jdbcType="VARCHAR" property="uTruename" /><result column="u_email" jdbcType="VARCHAR" property="uEmail" /><result column="u_state" jdbcType="INTEGER" property="uState" /><result column="r_id" jdbcType="INTEGER" property="rId" /></resultMap><sql id="Base_Column_List">u_id, u_loginName, u_passWord, u_trueName, u_email, u_state, r_id</sql><!--添加的 要查询的是对象--><select id="selectUser" parameterType="com.yhp.bean.User" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from userwhereu_loginName=#{uLoginname} and u_passWord=#{uPassword}</select><select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from userwhere u_id = #{uId,jdbcType=INTEGER}</select><delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">delete from userwhere u_id = #{uId,jdbcType=INTEGER}</delete><insert id="insert" parameterType="com.yhp.bean.User">insert into user (u_id, u_loginName, u_passWord, u_trueName, u_email, u_state, r_id)values (#{uId,jdbcType=INTEGER}, #{uLoginname,jdbcType=VARCHAR}, #{uPassword,jdbcType=VARCHAR}, #{uTruename,jdbcType=VARCHAR}, #{uEmail,jdbcType=VARCHAR}, #{uState,jdbcType=INTEGER}, #{rId,jdbcType=INTEGER})</insert><insert id="insertSelective" parameterType="com.yhp.bean.User">insert into user<trim prefix="(" suffix=")" suffixOverrides=","><if test="uId != null">u_id,</if><if test="uLoginname != null">u_loginName,</if><if test="uPassword != null">u_passWord,</if><if test="uTruename != null">u_trueName,</if><if test="uEmail != null">u_email,</if><if test="uState != null">u_state,</if><if test="rId != null">r_id,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="uId != null">#{uId,jdbcType=INTEGER},</if><if test="uLoginname != null">#{uLoginname,jdbcType=VARCHAR},</if><if test="uPassword != null">#{uPassword,jdbcType=VARCHAR},</if><if test="uTruename != null">#{uTruename,jdbcType=VARCHAR},</if><if test="uEmail != null">#{uEmail,jdbcType=VARCHAR},</if><if test="uState != null">#{uState,jdbcType=INTEGER},</if><if test="rId != null">#{rId,jdbcType=INTEGER},</if></trim></insert><update id="updateByPrimaryKeySelective" parameterType="com.yhp.bean.User">update user<set><if test="uLoginname != null">u_loginName = #{uLoginname,jdbcType=VARCHAR},</if><if test="uPassword != null">u_passWord = #{uPassword,jdbcType=VARCHAR},</if><if test="uTruename != null">u_trueName = #{uTruename,jdbcType=VARCHAR},</if><if test="uEmail != null">u_email = #{uEmail,jdbcType=VARCHAR},</if><if test="uState != null">u_state = #{uState,jdbcType=INTEGER},</if><if test="rId != null">r_id = #{rId,jdbcType=INTEGER},</if></set>where u_id = #{uId,jdbcType=INTEGER}</update><update id="updateByPrimaryKey" parameterType="com.yhp.bean.User">update userset u_loginName = #{uLoginname,jdbcType=VARCHAR},u_passWord = #{uPassword,jdbcType=VARCHAR},u_trueName = #{uTruename,jdbcType=VARCHAR},u_email = #{uEmail,jdbcType=VARCHAR},u_state = #{uState,jdbcType=INTEGER},r_id = #{rId,jdbcType=INTEGER}where u_id = #{uId,jdbcType=INTEGER}</update>
</mapper>

UserController

controller要去使用@Controller,

@RequestMapping,去拦截请求的url(/,/login)

通过对象传递数据,调用了userService的login方法,得到了查询到的对象的结果,根据结果,跳转相应的页面

package com.yhp.controller;import com.yhp.bean.User;
import com.yhp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;@Controller
public class UserController {@Autowiredprivate UserService userService;//登录@RequestMapping({"/","/login"})public void login(User user,HttpServletResponse response,HttpSession session) throws Exception {response.setContentType("text/html;charset=utf-8");//1.将参数传递给login方法,接收UserMapper的login方法返回的boolean值boolean flag = userService.login(user);if (flag) {// 将查询到的user对象放入session中session.setAttribute("user",user);// 由于视图解析器已经配置, 这里只需要添加html文件名字, 不需要带后缀response.getWriter().write("<script>location.href='/html/index.html';</script>");} else {response.getWriter().write("<script>alert('账号或密码错误!');location.href='/html/login.html';</script>");}}
}

UserService:接口

package com.yhp.service;import com.yhp.bean.User;public interface UserService {boolean login(User user);
}

UserServiceImpl:实现

从mapper层拿到后,进行校验,看是否查到了,如果查到了那么就返回true,如果没有查询到返回的是false

package com.yhp.service.impl;import com.yhp.bean.User;
import com.yhp.dao.UserMapper;
import com.yhp.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserServiceImpl implements UserService {// 自动注入@Autowiredprivate UserMapper userMapper;@Overridepublic boolean login(User user) {//查询user表中是哦福有用户输入的账号和密码if (userMapper.selectUser(user) != null){return true;}else {return false;}}
}

UserMapper

public interface UserMapper {//添加的/*** 登录方法* 查询数据库的用户名和密码 返回值为一个对象,如果对象不存在则返回空* 此处可能会引发空指针异常,可以直接抛出* @param user* @return*///@Select("select * from user where uLoginname=#{uLoginname} and uPassword=#{uPassword}")User selectUser(User user);
}

总结

SSM山东医院-1-登录(对象条件查询)-未加密版本相关推荐

  1. 具有SSM框架的CRUD与多条件查询

    概述 居于ssm版本的crud跟多添加查询, 并带分页的demo 详细 代码下载:http://www.demodashi.com/demo/13653.html 一.功能展示 部门CRUD: 员工C ...

  2. Redis存储对象条件查询(OLTP)

    Redis是key-value类型的内存数据库,通过key直接取数据虽然很方便,对于条件查询的支持远不如DB.虽然可以通过scan全表扫描,但比较麻烦也不够高效,于是通过以下方案简单处理一般情况的条件 ...

  3. Hibernate的条件查询的几种方式

    2019独角兽企业重金招聘Python工程师标准>>> 1. 第一种,用?占位符,如: //登录(用?占位符)public List<UserPO> LoginUser( ...

  4. SSM米米商城项目笔笔记五(商品信息多条件查询)

    SSM米米商城项目笔笔记五(商品信息多条件查询) 1.当查询的条件没有数据时,点击查询会展示出所有的上商品信息 2.当输入商品的模糊信息时,就会展示带有模糊信息的数据 3.当选中商品类型的时候就根据类 ...

  5. Day108.尚医通:医院模拟系统接口对接 - 医院|科室|排班 增删改分页条件查询

    目录 一.部署医院模拟系统 二.开发平台接口 - 上传(保存)医院信息接口 3.实现医院上传功能 4.实现签名校验 三.查询医院 四.搭建科室接口 上传科室 五.查询科室  ★★ 六.删除科室 七.上 ...

  6. java mvc 分页查询条件_java分页条件查询-GridManager.js表格插件+Pageable分页对象+mybatis pagehelper分页插件...

    总览: 一. GridManager.js表格插件 直接上插件API:链接地址 感觉该插件简单好用,插件作者也是有问必答,nice 二. 添加依赖 后端: pom文件添加: 1.7.0.RELEASE ...

  7. springboot封装统一查询对象进行多条件查询案例(mybatis和mybatis-plus+反射两种版本)

    文章目录 mybatis版本: 通用查询接口 封装辅助查询类: 通用controller: 自定义注解 controller service mapper测试 mybatis-plus实现版本 ent ...

  8. SSM整合 mybatis多条件查询与分页

    多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...

  9. Hibernate Criteria对象详解(条件查询)

    Hibernate Criteria对象详解 2014-9-1 16:21| 发布者: 传智特刊| 查看: 7290| 评论: 0 摘要: Hibernate框架是目前JavaEE软件开发的企业主流框 ...

最新文章

  1. html游戏键盘控制,键盘控制方块移动.html
  2. [读书笔记]《Head First Servlets JSP》2nd
  3. ConcurrentHashMap的源码分析-扩容结束以后的退出机制
  4. ACM练习 小Z来讲排名规则(WA)【C++ stable_sort稳定排序】
  5. 处理WinForm多线程程序时的陷阱(摘自网络)
  6. Docker 实战笔记
  7. 前端学习(527):等分布局第二种方案
  8. 【华为云技术分享】LiteAI四大绝招,解锁物联网智能设备AI开发难关
  9. linux求生之路字体乱码,Linux中文字符出现乱码怎么办
  10. mysql function 参数默认值_MySQL参数log_bin_trust_function_creators介绍
  11. JavaScript三目运算符的使用
  12. Dokcer从理论到实践----------Docker原理
  13. 【免费】雪糕刺客小程序,天价雪糕查询表,简单小程序框架
  14. java md5加密与解密_Java——MD5加密与解密
  15. win7下iTools Android模拟器安装与配置
  16. matlab实现证件照换底+美肤的功能
  17. 初中英语语法(013)-动词
  18. 这些操作技巧能够让你的公众号迅速增粉
  19. 程序写情诗|专属于程序员的浪漫
  20. 周志华 AdaBoost报告总结

热门文章

  1. Docker服务安全加固
  2. mayaa的一些代码
  3. 【SQL】结构化查询语言
  4. 【vim环境配置】解决ubuntu上 由YouCompleteMe插件配置不当引起的 自动补全失效的问题
  5. 安装mysql数据库及问题解决方法
  6. 启动Hadoop时候datanode没有启动的原因及解决方案
  7. 全网最详细的HBase启动以后,HMaster进程启动了,几秒钟以后自动关闭问题的解决办法(图文详解)
  8. ORA-01795: 列表中的最大表达式数为1000的解决方法
  9. 获取自Linux上的Epoch以来的当前时间,Bash
  10. win11亮度调节不见了怎么办 windows亮度调节不见了的解决方法