idea使用springBoot + mybatis +maven实现注册登录和简单增删改查(crud)

idea使用springBoot + mybatis +maven实现注册登录和简单增删改查(crud)

完成后的项目目录如下(所有文件都可拷贝)

在这里插入图片描述
(一)第一部分(创建项目)
1、File——>New——>Project——>Spring Initializr——>Next——jdk版本选择和刚才项目SDK版本一致的,我这里是1.8,其他的项目名称可不做修改。修改完点finish即可
在这里插入图片描述
2、继续Next,这里选择需要用的就可以,这里选择了Web下的SpingWeb 和SQL里面的两个。在最右边,是选择好的。点击next。之后是项目的名字和项目的存储空间。可以自己做修改。点击finish即可
在这里插入图片描述
在这里插入图片描述
此时项目目录如下图
在这里插入图片描述


(二)第二部分(相关配置)
1、创建数据库对应的表,这里创建一张user表进行数据的操作。注:id设为自动递增,我这里的数据库名和表名都叫user
在这里插入图片描述
2、在application.properties配置文件中配置四项内容
①数据库的连接。
②因为我本地项目比较多,8080端口被占用,所以再配置一下端口号
③mapper映射文件的配置
④页面跳转的路径的一个配置
application.properties的配置如下

#配置数据库连接信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/user?characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

#配置项目启动端口号
server.port=9696

#mapper映射
mybatis.type-aliases-package=com.example.demo.entity
mybatis.mapper-locations=classpath:mapper/*.xml

#页面跳转
spring.thymeleaf.prefix=classpath:/static/
spring.thymeleaf.suffix=.html

3、导入相关的依赖文件到pom.xml

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.73</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

    </dependencies>

4、在resources下创建5个html页面,分别是注册、登录、和人员管理(实现增删改查)、失败和成功跳转的页面
登录页面login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
</head>
<body>
<form method="get" action="/user/login">
    用户名:<input name="username" type="text"/>
    密码:<input name="password" type="password"/>
    <input type="submit" value="登录验证">
    <input type="button" onclick="javascript:window.location.href='regist.html'" value="注册页面">
<!--    <input type="button" onclick="javascript:window.location.href='personMessage.html'" value="leader管理页面">-->
</form>
</body>
</html>

注册页面regist.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>regist</title>
</head>
<body>
<form method="post" action="/user/regist">
    用户名:<input name="username" type="text"/>
    密码:<input name="password" type="password"/>
    <input type="submit" value="注册校验">
    <input type="button" onclick="javascript:window.location.href='login.html'" value="返回首页面">

</form>
</body>
</html>

人员管理页面personMessage

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>言旭人员管理平台</title>
</head>
<body>
<h2>言旭人员管理平台</h2>
<h3>query</h3>
<form method="post" action="/user/queryAll">
    <input type="submit" value="查询所有人员">
</form>
<h3>add</h3>
<form method="post" action="/user/add">
    用户名:<input name="userName" type="text"><br>
    密码:<input name="passWord" type="text"><br>
    <input type="submit" value="添加">
</form>
<h3>delete</h3>
<form method="post" action="/user/deleteById">
    编号:<input name="id" type="text"><br>
    <input type="submit" value="删除该编号对应人员">
</form>
<h3>modify</h3>
<form method="post" action="/user/update">
    编号:<input type="text"><br>
    用户名:<input type="text"><br>
    密码:<input type="text"><br>
    <input type="submit" value="更新该编号对应人员信息">
</form>
</body>
</html>

成功页success.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>成功页</title>
    <h3>操作成功</h3>
</head>
<body>

</body>
</html>

失败页err.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>失败页</title>
    <h3>操作失败</h3>
</head>
<body>

</body>
</html>

(三)第三部分(主要代码逻辑)
1、创建对应的控制器controller层、实体类包entity、逻辑层service以及对应的mapper接口
User实体类

package com.example.demo.entity;

public class User {
    private Integer id;
    private String userName;
    private String passWord;

    public void setId(Integer id){
        this.id = id;
    }
    public Integer getId(){
        return id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }
}

UserController控制器

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;

    @GetMapping("/login")
    public String login(User user){
        return userService.login(user);
    }

    @GetMapping("/regist")
    public String regist(User user){
        return userService.regist(user);
    }

    @PostMapping("/add")
    @ResponseBody
    public String add(User user){
        return userService.add(user);
    }

    @PostMapping("/deleteById")
    @ResponseBody
    public String deleteById(String id){
        return userService.deleteById(id);
    }

    @PostMapping("/queryAll")
    @ResponseBody
    public List<User> queryAll(){
        return userService.queryAll();
    }

}

UserService逻辑层

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    //该注解可以对类成员变量、方法以及构造函数进行标注,完成自动装配工作
    @Autowired
    UserMapper userMapper;

    public String login(User user){
        //登录逻辑函数
        try{
            User userExistN = userMapper.findByName(user.getUserName());
            if(userExistN!=null){
                String userExistP = userMapper.findPswByName(user.getUserName());
                if(userExistP.equals(user.getPassWord())){
//                    return user.getUsername()+"登录成功,欢迎您!";
                    return "personMessage";
                }else {
                    return "err";
                }
            }else {
                return "err";
            }
        }catch (Exception e){
            e.printStackTrace();
            return e.getMessage();
        }
    }

    public String regist(User user){
        //注册逻辑函数
        try {
            User userExist = userMapper.findByName(user.getUserName());
            if (user.getUserName().equals("")){
                return "err";
            }else if (user.getPassWord().equals("")){
                return "err";
            }else if (userExist!=null){
                return "err";
            }else{
                userMapper.save(user);
                return "success";
            }
        }catch (Exception e){
            e.printStackTrace();
            return e.getMessage();
        }

    }
    //添加人员
    public String add(User user){
        userMapper.add(user);
        return user.getUserName()+"添加成功!";
    }
    //根据id编号删除人员
    public String deleteById(String id){
        userMapper.deleteById(id);
        return "删除成功";
    }
    //查询所有人员
    public List<User> queryAll(){
        return userMapper.queryAll();
    }
}

UserMapper数据DAO层,需要配置对应的UserMapper.xml文件

package com.example.demo.mapper;

import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

//@Repository将类标识为bean
@Repository
@Mapper
public interface UserMapper {
    User findByName(String name);
    String findPswByName(String UserName);
    void save(User user);

    void add(User user);

    void deleteById(String userId);

    List<User> queryAll();
}

在resources下创建mapper文件夹——>在新建UserMapper.xml配置映射文件,如下:

<?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">
<!--xmlns="http://mybatis.org/schema/mybatis-mapper"-->
<mapper namespace="com.example.demo.mapper.UserMapper">

    <select id="findByName" resultType="User">
        select * from User where username=#{userName}
    </select>
    <select id="findPswByName" resultType="String">
        select password from user where username = #{userName}
    </select>
    <insert id="save">
        insert into user(username,password) value (#{userName},#{passWord})
    </insert>

    <insert id="add">
        insert into user(username,password) value (#{userName},#{passWord})
    </insert>
    <delete id="deleteById">
        delete from user where id = #{id}
    </delete>
    <select id="queryAll" resultType="User">
        select * from user
    </select>
</mapper>

此时,整个项目就已经完成了。运行–>在浏览器输入
注册页面:localhost:9696/regist.html
登录页面:localhost:9696/login.html
注册和登录页面可以相互跳转。登录成功后,跳转至人员管理界面
注:注册不允许用户名重复,做了限制,如果重复,会跳转err错误页面

整个功能做的验证比较少,所以比较简单。主要是对springBoot一整个项目的搭建流程做了一个梳理。如果有什么问题,欢迎指正。
如果写的东西对你有所帮助,欢迎点赞关注

  • 16
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值