基于Spring5实现登录注册功能

本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下

准备:

根据分析用户注册登录都需要的信息为
①username(String)
②userid(Int)
③userpassword(String)
④useremail(String)

1.生成数据库、表

2.编写实体类

import org.springframework.stereotype.Component;
@Component
public class User {
    private String UserName;
    private int UserId;
    private String UserPassWord;
    private String UserEmail;

    public User(String userName, int userId, String userPassWord, String userEmail) {
        UserName = userName;
        UserId = userId;
        UserPassWord = userPassWord;
        UserEmail = userEmail;
    }

    public User() {
    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public int getUserId() {
        return UserId;
    }

    public void setUserId(int userId) {
        UserId = userId;
    }

    public String getUserPassWord() {
        return UserPassWord;
    }

    public void setUserPassWord(String userPassWord) {
        UserPassWord = userPassWord;
    }

    public String getUserEmail() {
        return UserEmail;
    }

    public void setUserEmail(String userEmail) {
        UserEmail = userEmail;
    }
}

3.配置xml文件(jdbcTemplate注入到dao层中)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <!--扫描包-->
    <context:component-scan base-package="MyPackage"></context:component-scan>
    <!--数据库连接池-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
        <property name="url" value="jdbc:mysql://localhost:3306/review"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
    </bean>
    <!--配置JdbcTemplate对象,把数据库dataSource注入进去-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <!--要把数据库注入到JdbcTemplate对象中-->
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!--到了这一步我们就连接好了数据库了-->
</beans>

4.编写Userdao(dao层)

import MyPackage.pojo.User;
import org.springframework.stereotype.Component;
@Component
public interface UserDao {
    void Register(User user);

    User login(Integer id);
}

UserDaoImpl类

ckage.dao;

import MyPackage.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

@Component
public class UserDaoImpl implements UserDao{

    @Autowired
    JdbcTemplate jdbcTemplate;//自动注入数据库

    @Override
    public void Register(User user) {
        String sql = "insert into t_user (`username`,`userid`,`userpassword`,`useremail`)" +
                "values(?,?,?,?)";
        Object[] args = {user.getUserName(), user.getUserId(), user.getUserPassWord(), user.getUserEmail()};
        int update = jdbcTemplate.update(sql,args);
        System.out.println("注册成功:"+update);
    }

    @Override
    public User login(Integer id) {
        String sql = "select *from t_user where `userid`=?";
        User user1 = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), id);
        return user1;
    }
}

5.编写service层

import MyPackage.dao.UserDao;
import MyPackage.dao.UserDaoImpl;
import MyPackage.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service(value = "userService")
public class UserService {
    @Autowired
    public UserDao userDao;
    //用户注册
    public void Register(User user){
        System.out.println("Service Register.....");
        userDao.Register(user);
    }

    //用户登录
    public void Login(User user){
        System.out.println("Service Login.....");
        User loginsuccess = userDao.login(user.getUserId());
        if (loginsuccess!=null)
            System.out.println("登录成功");
        else
            System.out.println("登录失败");
    }
}

6.测试

import MyPackage.pojo.User;
import MyPackage.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    //注册功能测试
    @org.junit.Test
    public void testJdbcTemplate1(){
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = (UserService) context.getBean("userService", UserService.class);
//        userService.Register(new User("mary",2,"654321","654321@qq.com"));
        userService.Register(new User("lucy",1,"123456","123456@qq.com"));
    }
    //登录功能测试
    @org.junit.Test
    public void testJdbcTemplate2() {
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        UserService userService = (UserService) context.getBean("userService", UserService.class);
        userService.Login(new User("lucy",1,"123456","123456@qq.com"));
    }
}

运行截图

遇到的问题:

刚开始把bean1.xml配置文件直接是在src目录下生成的,所以当运行时,就会发现找不到xml文件
解决方法:

在main目录下新建一个resources文件,且把该文件变成Resources类型,然后把bean1.xml放入在这里就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Spring MVC+mybatis实现注册登录功能

    本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下 前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee&q

  • Android使用OKhttp3实现登录注册功能+springboot搭建后端的详细过程

    目录 一.Android前端实现 二.数据库 三.SpringBoot后端搭建 四.部署至服务器 五.运行测试 一.Android前端实现 新建一个login的项目,主要的几个文件在这里 1.gradle引入OKhttp3依赖 implementation 'com.squareup.okhttp3:okhttp:3.14.7' implementation 'com.squareup.okio:okio:1.17.5' 2.activity_main.xml布局文件 <?xml version

  • springboot+VUE实现登录注册

    本文实例为大家分享了springboot+VUE实现登录注册的具体代码,供大家参考,具体内容如下 一.springBoot 创建springBoot项目 分为三个包,分别为controller,service, dao以及resource目录下的xml文件. UserController.java package springbootmybatis.controller; import org.springframework.web.bind.annotation.CrossOrigin; im

  • Spring MVC登录注册以及转换json数据

    项目结构; 代码如下: BookController package com.mstf.controller; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codehaus.jackson.map.ObjectMapper; import com.mstf.

  • SpringBoot实现登录注册常见问题解决方案

    一.用户名密码都正确的情况下被登录拦截器拦截 控制台报错:org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.spbt.mapper.EmpeeMapper.selectName'. It's likely that neither a Result Type nor a Result Map was sp

  • springboot实现注册的加密与登录的解密功能(demo)

    前情提要:本demo是基于springboot+mybatis-plus实现加密,加密为主,全局异常处理,日志处理为辅,而登录密码加密是每个项目中必须要的,密码不可能明文存入数据,这样没有安全性. 涉及的功能,全局异常处理,日志处理,mybatis-plus实现与数据库的交互,密码加密,restful风格 涉及的工具:IDEA,postman,sqlyog(navicat) 1. 首先我们直接看效果吧,如果你不满意,也就没必要看了 如果这正是你想要的效果呢,那你可以继续看下面的内容了 2. 首先

  • SpringBoot+Mybatis实现登录注册的示例代码

    学习SpringBoot+Mybatis实现的登录注册功能的Demo,实现这个Demo在网上也参考了资料和代码,本文是本人在实现Demo后的个人总结,以便理清思路. 1.环境 jdk8 : "1.8.0_281" Maven: 3.6.3 Idea:2020.2 Mysql:5.6.40 Navicat:10.1.7 2.步骤 2.1 创建一个SpringBoot项目 选择依赖如下: Web下的Spring Web. Template Engines下的Thymeleaf. SQL下的

  • Spring shiro + bootstrap + jquery.validate 实现登录、注册功能

    之前的文章中我们已经搭建好框架,并且设计好了,数据库. 现在我们开始实现登录功能,这个可以说是Web应用最最最普遍的功能了. 先来说说我们登录的逻辑: 输入用户名.密码(validate进行前端验证)--ajax调用后台action方法--根据用户名调用业务层到数据层查询数据库信息--查询的密码跟用户输入的密码比对--shiro登录身份验证--将用户信息存入session--响应前端--前端跳转 这个是我要告诉大家的姿势,还有很多很多的姿势.下面我们来看具体的代码. 首先前端验证,这里使用了jq

  • IDEA实现 springmvc的简单注册登录功能的示例代码

    1.基本环境搭建 spring简介 SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图.其中核心类是DispatcherServlet,它是一个Servlet,顶层是实现的Servlet接口. project创建 在图中填上项目名称即可,其他直接next 如上图所示,创建两个包,并且指定包的类型,如下图,java包指定为Sources Root,resouces包指定为Resources root 整个目录结构: pom依赖

  • Spring boot+mybatis+thymeleaf 实现登录注册增删改查功能的示例代码

    本文重在实现理解,过滤器,业务,逻辑需求,样式请无视.. 项目结构如下 1.idea新建Spring boot项目,在pom中加上thymeleaf和mybatis支持.pom.xml代码如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3

随机推荐