目录
零、前言
一、 说明
1、环境版本
2、数据库准备
二、搭建整合环境
1、IDEA 快捷创建 SpringBoot 工程
2、修改配置文件
3、创建类和接口文件
4、创建 web 页面
三、测试
四、源码
SpringBoot 框架整合相对于ssm框架整合SSM框架实现用户查询、注册、登录——IDEA整合Spring、Spring MVC、Mybatis 框架来说,要方便容易的多,SpringBoot 开发只需要非常少的几个配置,开箱即用,没有代码生成,无需配置xml文件,还可以修改默认值来满足特定的需求,并可以利用 IDEA 自动生成项目,搭建了 ssm 框架之后再来搭建整合 SpringBoot 框架,简直不要太方便。
- 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
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】点击:文件--->模块,选择 Spring Initializr,直接点击下一个
【2】填写相关选项,点击下一个
【3】选择 SpringBoot 需要的启动依赖,这里选择 Web 下的 Spring Web、Template Engine 下的 Thymeleaf、SQL 下的 JDBC API、MyBatis Framework、MySQL Driver,然后点击下一个
【4】保存项目路径,点击完成
创建好后目录结构如下:
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 配置中的
在java文件夹下创建类文件,所需的类文件有以下几个:
【1】创建存放 javabean 类文件:cn.star.domain.User
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
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
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
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
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);
}
}
在 resources 文件夹下创建需要的 web 页面,这里需要创建以下页面:
【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实现用户查询、注册、登录完成,最终整个目录结构如下:
源码地址:
链接:https://pan.baidu.com/s/1lTw00W4i8-NA6IpSyN2mAA 提取码:2iu9