SpringBoot+thymeleaf+druid实现简单登录注册功能

简介

第一次写博客,可能会有一些小问题,欢迎评论指正。
本次使用的是IntelliJ idea编译器,eclipse操作流程也是大同小异的。

新建springboot项目

点击file–>new–>project,然后选择spring initializr,直接点击next
在这里插入图片描述

然后输入信息;
在这里插入图片描述
导入项目依赖,选择项目所需要的jar包,也可以不选择,在项目构建成功后,在pom文件里面添加依赖。

添加依赖

这里只给出依赖jar包,其他部分建立项目的时候就有了。

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>

        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

配置文件

在resources文件夹下面新建一个文件,命名application.properties
具体配置如下:

#数据库连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

server.port=8089

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

spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
logging.level.com.demo.mapper=debug

实体类

package com.example.demo.entity;
import java.io.Serializable;

public class User implements Serializable {
    private Integer userId;
    private String username;
    private String password;
    private Integer age;

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                '}';
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }


}

注册页面

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <link rel="stylesheet" th:href="@{/layui/css/layui.css}"/>
    <link rel="stylesheet" th:href="@{/css/my.css}"/>
    <title>注册界面</title>
</head>
<body id="di1">

<div>
    <label style="text-align: center">
        <h2>注册界面</h2>
    </label>
</div>
<div id="form-style">
    <form action="register" method="post" name="myform" >
        <div class="layui-form-item">
            <label class="layui-form-label">输入框</label>
            <div class="layui-input-inline">
                <input type="text" name="username" lay-verify="title" autocomplete="off"
                       placeholder="请输入账号" class="layui-input"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">密码框</label>
            <div class="layui-input-inline">
                <input type="password" name="password" placeholder="请输入密码"
                       autocomplete="off" class="layui-input"/>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">年 龄</label>
            <div class="layui-input-inline">
                <input type="text" name="age" autocomplete="off"
                       placeholder="请输入年 龄" class="layui-input"/>
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit="" lay-filter="demo">
                    立即提交
                </button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>
</div>

<script th:src="@{//layui/layui.all.js }" type="text/javascript"></script>
<script type="text/javascript">
    layui.use(['jquery', 'layer', 'form'], function () {
        var $ = layui.$;
        var layer = layui.layer;
        var form = layui.form;
        form.on('submit(demo)', function (data) {
            var param = JSON.stringify(data.field);
            $.ajax({
                type: "POST",
                url: "/register",
                dataType: "json",
                contentType: "application/json",
                data: param,
                success: function () {

                }
            });

        });
    })
</script>

</body>
</html>

mapper.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">
<mapper namespace="com.example.demo.mapper.UserDAO">
    <!-- 新增用户 -->
    <insert id="insertUserInf" useGeneratedKeys="true" keyProperty="userId" parameterType="com.example.demo.entity.User">
        insert into user(username, password, age) values(#{username}, #{password}, #{age})
    </insert>
</mapper>

控制层

  @Autowired
    private UserServices userServices;

    @RequestMapping("/register")
    public String userRegister(@RequestParam("username") String username,
                               @RequestParam("password") String password,
                               @RequestParam("age") Integer age) {
        Map<String,Object> map = new HashMap<>();
        map.put("username",username);
        map.put("password",password);
        map.put("age",age);
        userServices.insertUserInf(map);
        return "login";
    }
    @RequestMapping("/registry")
    public  String registry(){
        return "register";
    }

其它层内容自行填充

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤来实现: 1. 配置MyBatis Plus和Thymeleaf依赖,并配置数据源。 2. 创建班级表的实体类,例如ClassEntity,使用MyBatis Plus的注解来映射数据库表。 3. 创建班级表的Mapper接口,例如ClassMapper,继承MyBatis Plus的BaseMapper接口,并定义需要的查询方法。 4. 在Controller中注入ClassMapper,调用查询方法获取班级列表,并将结果存入Model中。 5. 在Thymeleaf模板中使用th:each指令遍历班级列表,并展示班级名称等信息。 下面是示例代码: 1. pom.xml依赖配置: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.1</version> </dependency> <!-- 数据源依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency> </dependencies> ``` 2. ClassEntity实体类定义: ```java @Data @TableName("class") // 表名 public class ClassEntity { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer studentCount; } ``` 3. ClassMapper接口定义: ```java public interface ClassMapper extends BaseMapper<ClassEntity> { List<ClassEntity> getClassList(); } ``` 4. Controller中调用查询方法: ```java @Controller public class ClassController { @Autowired private ClassMapper classMapper; @GetMapping("/classList") public String getClassList(Model model) { List<ClassEntity> classList = classMapper.getClassList(); model.addAttribute("classList", classList); return "classList"; } } ``` 5. Thymeleaf模板代码: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>班级列表</title> </head> <body> <h1>班级列表</h1> <table> <thead> <tr> <th>班级名称</th> <th>学生人数</th> </tr> </thead> <tbody> <tr th:each="class : ${classList}"> <td th:text="${class.name}"></td> <td th:text="${class.studentCount}"></td> </tr> </tbody> </table> </body> </html> ``` 以上示例代码演示了如何使用Spring Boot、MyBatis Plus和Thymeleaf实现查询班级表并展示的功能,你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值