SprigBoot小项目笔记

1.数据库的设计

   首台用户表和商品表  

create database springboot;
#创建后台用户表
drop database springboot;
use springboot;
create table users(
    userId int auto_increment primary key,
	  username varchar(20),
	  password varchar(20),
		flag int
);
select * from users;

insert into users(username,password,flag) values('admin','123456',1),('root','123456',1);

#创建商品分类表
create table category(
  categoryId int auto_increment primary key,
	categoryName varchar(20)
);
select * from category;
insert into category
(categoryName)
select '饮品' union
select '食品' 

#创建商品信息表
create table goods(
  goods int auto_increment primary key,
	goodsName varchar(200),
	price numeric(5,1),
	address varchar(200),
	produceDate date,
	picture varchar(200),
	categoryId int,
	foreign key(categoryId)
	references category(categoryId)
);
select * from goods;


2.创建SpringBoot初始化项目,并导入pom依赖。

<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.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

配置数据源


server.port=8088
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456

启动项目-项目初始化搭建成功。

学习知识

@CrossOrigin注解
Spring 从4.2版本后开始支持 @CrossOrigin 注解实现跨域,这在一定程度上简化了我们实现跨域访问的开发成本,在需要跨域访问的方法或者类上加上这个注解便大功告成

通过mybatis-逆向工程插件---生成实体类和相应接口

并实现查询用户

@RestController注解相当于

@ResponseBody + @Controller合在一起的作用

2.实现页面跳转登录-画出页面

 创建controller层,实现页面的跳转,登录页面和注册页面

package com.liuboss.boot.controller;

import com.liuboss.boot.mapper.UsersMapper;
import com.liuboss.boot.model.Users;
import com.liuboss.boot.util.ReturnT;
import org.apache.catalina.Session;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpSession;

@RequestMapping("/admin")
@Controller
public class UserCoontroller {
    @Autowired
    private UsersMapper usersMapper;
    /*@GetMapping("findUsers")
    public Object findUsers(Integer userId){
      return usersMapper.selectByPrimaryKey(userId);
    }*/
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "hello";
    }
    @RequestMapping("/login_show")
    public String login_show(){
        return "admin/login";
    }
    @RequestMapping("/login_submit")
    public String login_submit(Users users, HttpSession session, Model model){
        Users u = usersMapper.selectByPrimaryKey(users);
        //根据用户和密码进行登录校验
        if(u==null){
            model.addAttribute("err","用户名密码不正确!");
            return "/admin/login";
        }
        //将登录的账号页面对象存入session,用于会话跟踪管理
        session.setAttribute("adminUser",u);
        return "admin/index";
    }

}

画出登录页面将登录页面 在templates文件夹下创建admin文件夹,用于实现登录login.html

<!DOCTYPE html>
<html lang="en" :xmlns:th="http://www.thymeleaf.com">
<head>
    <meta charset="UTF-8">
    <title>后台登录</title>
</head>
<body>
    <div class="frm">
        <div class="title">
            后台登录
        </div>
        <from>
            <table>
                <tr>
                    <td>用户名</td>
                    <td>
                        <input type="text" name="userName">
                    </td>
                </tr>
                <tr>
                    <td>密码</td>
                    <td>
                        <input type="password" name="password">
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" name="登录">
                    </td>
                </tr>
            </table>
        </from>
    </div>
</body>
</html>

访问路径http://localhost:8088/admin/login_show  实现登录页面展示

为测试方便-controller中进行创建hello为测试方便

@Controller
public class Home {
    @RequestMapping("/")
    @ResponseBody
    public String index(){
        return "欢迎!!!<br/><a href='admin/login_show'>访问后台</a>";
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值