使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)

目录

零、前言

一、 说明

1、环境版本

2、数据库准备

 二、搭建整合环境

1、IDEA 快捷创建 SpringBoot 工程

2、修改配置文件

3、创建类和接口文件

 4、创建 web 页面

三、测试

四、源码


零、前言

SpringBoot 框架整合相对于ssm框架整合SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架来说,要方便容易的多,SpringBoot 开发只需要非常少的几个配置,开箱即用,没有代码生成,无需配置xml文件,还可以修改默认值来满足特定的需求,并可以利用 IDEA 自动生成项目,搭建了 ssm 框架之后再来搭建整合 SpringBoot 框架,简直不要太方便。

一、 说明

1、环境版本

  • JDK :JDK 8
  • IDEA :IntelliJ IDEA 2018.2.4 x64
  • Maven :apache-maven-3.5.2
  • SpringBoot :SpringBoot2.2.2
  • MySQL :MySQL Server 5.7

2、数据库准备

CREATE DATABASE springbootdemodat;

USE springbootdemodat;

CREATE TABLE users(
    id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'id主键', 
    username VARCHAR(20) NOT NULL COMMENT '用户名',
    PASSWORD  VARCHAR(20) NOT NULL COMMENT'用户密码'
);

INSERT INTO users (username,PASSWORD) VALUES("onestar","123");
INSERT INTO users (username,PASSWORD) VALUES("twostar","456");

 二、搭建整合环境

1、IDEA 快捷创建 SpringBoot 工程

【1】点击:文件--->模块,选择 Spring Initializr,直接点击下一个

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第1张图片

【2】填写相关选项,点击下一个

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第2张图片

【3】选择 SpringBoot 需要的启动依赖,这里选择 Web 下的 Spring Web、Template Engine 下的 Thymeleaf、SQL 下的 JDBC API、MyBatis Framework、MySQL Driver,然后点击下一个

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第3张图片

【4】保存项目路径,点击完成

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第4张图片

创建好后目录结构如下:

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第5张图片

2、修改配置文件

SpringBoot 中使用的是 properties 配置文件和 yml 配置文件,而 yml 配置文件比 properties 配置文件更方便简洁,使用起来更明了,这里推荐使用 yml 配置文件,将工程中生成的 application.properties 改为 application.yml,并进行如下配置:

spring:
# 配置mysql数据库,springbootdemodat为我的数据库名称
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/springbootdemodat?useUnicode=true&characterEncoding=UTF-8&serverTimezone=CST
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver

# 配置thymeleaf,这里在templates文件夹下放html文件
  thymeleaf:
    prefix: classpath:/templates/
    check-template-location: true
    suffix: .html
    mode: HTML
    encoding: UTF-8
    cache: false

# spring集成Mybatis环境
# 加载Mybatis映射文件
mybatis:
  mapper-locations: classpath*:mapper/*.xml

配置好后发现 driver-class-name: com.mysql.cj.jdbc.Driver 报错,这里将 pom.xml 中 mysql 配置中的 runtime 去掉就可以了

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第6张图片

3、创建类和接口文件

在java文件夹下创建类文件,所需的类文件有以下几个:

  • 存放 javabean 的 domain 包下的用户类:cn.star.domain.User
  • 数据访问层 dao 包下的用户 dao 接口:cn.star.dao.UserDao
  • 业务层 service 包下的 UserService 接口:cn.star.service.UserService
  • 业务层 mapper 包下的 service 实现类,继承 service 接口:cn.star.mapper.UserServiceImpl
  • 控制层 controller 包下的用户控制层 UserController 类:cn.star.controller.UserController

【1】创建存放 javabean 类文件:cn.star.domain.User

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第7张图片

package cn.star.domain;
/**
 * 〈一句话功能简述〉
* 〈用户数据Javabean类〉 * * @author OneStar * @create 2019/12/17 * @since 1.0.0 */ public class User { private Integer id; private String username; private String PASSWORD; public Integer getId() { return id; } public void setId(Integer id) { this.id = 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; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", PASSWORD='" + PASSWORD + '\'' + '}'; } }

【2】创建数据访问层 UserDao 接口:cn.star.dao.UserDao

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第8张图片

package cn.star.dao;
import cn.star.domain.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * 〈一句话功能简述〉
* 〈数据访问层接口〉 * * @author OneStar * @create 2019/12/17 * @since 1.0.0 */ public interface UserDao { //查询所有用户 @Select("select * from users") List getAllUser(); //用户注册 @Insert("INSERT INTO USERS (username,PASSWORD) VALUES(#{username},#{PASSWORD})") public void insertUser(User user); //用户登录 @Select("select * from users where username=#{username} and PASSWORD=#{PASSWORD}") public User login(User user); }

 

 【3】创建业务层 UserService 接口:cn.star.service.UserService

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第9张图片

package cn.star.service;
import cn.star.domain.User;
import java.util.List;
/**
 * 〈一句话功能简述〉
* 〈业务层接口〉 * * @author OneStar * @create 2019/12/17 * @since 1.0.0 */ public interface UserService { //查询所有用户 List getAllUser(); //用户注册 public void insertUser(User user); //用户登录 public boolean login(User user); }

【4】创建 Service 实现类:cn.star.mapper.UserServiceImpl

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第10张图片

package cn.star.mapper;
import cn.star.dao.UserDao;
import cn.star.domain.User;
import cn.star.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * 〈一句话功能简述〉
* 〈Service实现类〉 * * @author OneStar * @create 2019/12/17 * @since 1.0.0 */ @Service public class UserServiceImpl implements UserService { @Resource UserDao userDao; @Override public List getAllUser() { System.out.println("业务层:查询用户"); return userDao.getAllUser(); } @Override public void insertUser(User user){ System.out.println("业务层:注册用户"); userDao.insertUser(user); } @Override public boolean login(User user) { System.out.println("业务层:用户登录"); if(userDao.login(user) == null){ System.out.println("false"); return false; }else{ System.out.println("true"); return true; } } }

 【5】创建用户控制层UserController类:cn.star.controller.UserController

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第11张图片

package cn.star.controller;
import cn.star.domain.User;
import cn.star.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
 * 〈一句话功能简述〉
* 〈用户控制层〉 * * @author OneStar * @create 2019/12/17 * @since 1.0.0 */ @Controller public class UserController { @Autowired UserService userService; @RequestMapping("/findUser") public String findUser(Model model){ System.out.println("表现层:查询用户"); List list = userService.getAllUser(); model.addAttribute("list",list); System.out.println(list); return "index"; } @RequestMapping("/insert") public String insert(User user){ System.out.println("表现层:注册用户"); userService.insertUser(user); return "success"; } @RequestMapping("/login") public String login(User user) { System.out.println("表现层:用户登录"); // 调用注入的 usersService 调用 login 方法 if(userService.login(user)){ return "successlogin"; }else{ return "falselogin"; } } }

【6】添加 MapperScan 注解

修改 SpringbootdemoApplication ,在类前添加 MapperScan 注解,修改后如下:

package cn.star;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan({"cn.star.dao"})
public class SpringbootdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootdemoApplication.class, args);
    }
    
}

 4、创建 web 页面

在 resources 文件夹下创建需要的 web 页面,这里需要创建以下页面:

  • 显示查询、注册、登录的 index 页面:index.html
  • 注册成功提示页面:success.html
  • 登录成功提示页面:successlogin.html
  • 登录失败提示页面:falselogin.html

【1】index.html




    
    Title


查询测试:


注册测试:

用户:
密码:

登录测试:

用户:
密码:

【2】 success.html




    
    Title


注册成功!

【3】 successlogin.html




    
    Title


登录成功!

【4】 falselogin.html




    
    Title


登录失败!

三、测试

启动 SpringBoot 工程,在浏览器输入:http://localhost:8080/findUser ,可以看到网页显示查询用户内容和注册登录入口,输入用户和密码可以进行注册登录

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第12张图片

至此,使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录完成,最终整个目录结构如下:

使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第13张图片

四、源码

源码地址:

 链接:https://pan.baidu.com/s/1lTw00W4i8-NA6IpSyN2mAA   提取码:2iu9 
 

 


使用IDEA搭建SpringBoot框架整合Mybatis、MySQL、Thymeleaf实现用户查询、注册、登录(含源码)_第14张图片

你可能感兴趣的:(框架)