vue后端框架mysql_springboot + vue 前后端结合·数据库查询

本文介绍了如何使用SpringBoot作为后端框架,Vue作为前端框架,结合MySQL数据库实现用户登录和用户列表的查询功能。通过CORS配置允许前后端跨域通信,展示了关键的Controller、Service、Mapper和Vue组件代码,包括LoginVo、PageVo、User等数据模型。同时,提供了数据库表结构和部分Vue页面样式。
摘要由CSDN通过智能技术生成

springboot + vue 前后端结合·数据库查询

数据库部分:

/*

Navicat Premium Data Transfer

Source Server : localHost

Source Server Type : MySQL

Source Server Version : 50529

Source Host : localhost:3306

Source Schema : vue-demo

Target Server Type : MySQL

Target Server Version : 50529

File Encoding : 65001

Date: 08/07/2020 17:57:30

*/

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for user

-- ----------------------------

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

`age` int(4) NOT NULL,

`address` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------

-- Records of user

-- ----------------------------

INSERT INTO `user` VALUES (1, '张飞', 18, '三国');

INSERT INTO `user` VALUES (2, '刘备', 10, '三国');

INSERT INTO `user` VALUES (3, '关羽', 27, '三国');

INSERT INTO `user` VALUES (4, '曹操', 11, '三国');

INSERT INTO `user` VALUES (5, '吕布', 26, '中国 上海 浦东');

INSERT INTO `user` VALUES (6, '杜坡', 23, '北京');

SET FOREIGN_KEY_CHECKS = 1;

2fd691f20026ddc9f0d3af3b27a6337a.png

后端项目结构:

e772bdb69b17234451c8ffec0ceecb8f.png

CORSConfig.java

@Configuration

public class CORSConfig {

@Bean

public WebMvcConfigurer corsConfigurer() {

return new WebMvcConfigurerAdapter() {

@Override

public void addCorsMappings(CorsRegistry registry) {

// 限制了路径和域名的访问

registry.addMapping("/api*").allowedOrigins("http://localhost:8080");

}

};

}

}

UserController.java

package com.csyd.controller;

import com.csyd.pojo.User;

import com.csyd.pojo.vo.LoginVo;

import com.csyd.pojo.vo.PageVo;

import com.csyd.result.Result;

import com.csyd.result.ResultGenerator;

import com.csyd.service.UserService;

import com.github.pagehelper.PageInfo;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

import java.util.Objects;

@Controller

@RequestMapping("/api")

public class UserController {

@Autowired

UserService userService;

@CrossOrigin //跨域请求必加

@RequestMapping("/user/login")

@ResponseBody

public Result login(@Valid @RequestBody LoginVo loginVo, BindingResult bindingResult){

if (bindingResult.hasErrors()) {

String message = String.format("登陆失败,详细信息[%s]。", bindingResult.getFieldError().getDefaultMessage());

return ResultGenerator.genFailResult(message);

}

if (!Objects.equals("admin", loginVo.getUsername()) || !Objects.equals("123456", loginVo.getPassword())) {

String message = String.format("登陆失败,详细信息[用户名、密码信息不正确]。");

return ResultGenerator.genFailResult(message);

}

return ResultGenerator.genSuccessResult();

}

@CrossOrigin

@RequestMapping("/user/userList")

@ResponseBody

public Result userList(@RequestBody PageVo pageVo){

PageInfo userPage = userService.userPage(pageVo.getPageNum(), pageVo.getPageSize());

return ResultGenerator.genSuccessResult(userPage);

}

}

mapper.java

package com.csyd.dao;

import com.csyd.pojo.User;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper

public interface UserMapper {

int deleteByPrimaryKey(Integer id);

int insert(User record);

int insertSelective(User record);

User selectByPrimaryKey(Integer id);

int updateByPrimaryKeySelective(User record);

int updateByPrimaryKey(User record);

List selectAll();

}

LoginVo.java

package com.csyd.pojo.vo;

import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;

public class LoginVo {

@NotNull

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值