Spring Boot + MyBatis plus + vue 搭建前后端框架

Spring Boot+Vue 前后端分离项目架构 Spring Boot+Vue 前后端分离项目架构 项目流程: 1. SpringBoot 后端项目 1、新建一个 SpringBoot 工程,并添加项目开发过程中需要的相关依赖; 2、数据库新建 book 数据表; -- ---------------------------- -- Table structure for book -- ---------------------------- DROP TABLE IF EXISTS `book`; CREATE TABLE `book` ( 阅读详情

项目流程及问题

数据库设计

数据库字符集问题
  1. 字符集:utf8mb4兼容utf8,Unicode编码区1~126是utf8区,126以下是utf8mb4兼容区。(一般选utf8:不浪费空间)
    Unicode区表
数据库排序规则问题utf8_bin与utf8_general_ci(一般分这两种)
  1. bin是二进制,a与A会区别对待(例:SELECT * FROM table WHERE txt = ‘a’)
    utf8_general_ci(case insensitive:大小写不敏感):有注册用户名和邮箱使用(邮箱大小写都是同一账户–现在才发现)
    utf8_general_cs(case sensitive:大小写敏感):有用户名与邮箱用它有不良后果(msyql 5.6以上便不支持了-会报错-具体是从哪个版本我没试,反正5.6以上都不行)
数据库设计规则

58sql军规

  1. 数据库,表,字段用英文单词,且使用单数
  2. Id为主键,一般为bigint自增(分库分表集群用varchar)
  3. 表必备字段id,创建时间create_time,更新时间update_time(考虑逻辑删除deleted,乐观锁version)
  4. Deleted(最好不要is_deleted:有些框架pojo中isDeleted=getDeleted)
  5. 小数一定要用decimal
  6. 数据库字段中固定长度(id)时(char固定长度(不够填空),效率高,varchar可变,省存储空间)
  7. 两个字符一个中文varchar(20)(手机号必须用这个)
  8. Default默认:empty string空字符串/空/null值(插入null报错,原因选了不为null)
  9. 不设置外键,最好在业务逻辑层去处理
mysql字段-数据类型(数字/时间/字符)
 tinyint(1byte) smallint(2byte:65536) mediumint(3byte) int  bigint(8byte)
Decimal==numeric
Date日期  datetime日期+时间

Spring Boot+mybatisPlus的后台架构搭建

Spring Boot项目创建
Spring配置繁琐,太多xml,Annotation配置,让人眼花缭乱;
Spring Boot采用Java config方式对Spring配置;其二,不用配置tomcat,包括静态资源处理,视图解析器,注解扫描等

Spring boot小结

  1. spring Initializr(默认从官网拉取创建)(idea要下载Lombok插件)
  2. 添加依赖(可不选,用什么直接在依赖里添加依赖)
  3. 项目依赖(pom.xml springboot有的)spring-boot-starter(+test) junit-vintage-engine 三个依赖
Spring Boot 添加(mybatisPlus等)重要依赖

父pom里定义的一些版本

<!-- Spring Boot项目依赖一般不用version(需要时报错No version of dendency) -->
<!-- <parent>标签继承了父pom,2.1及以上以上版本是cj.jdbc.Driver(url还要加时区) -->
		<dependency>    <!--   springboot web模块支持,自动引入了web模块开发需要的相关jar包     -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
		<dependency>	<!--   mysql数据库驱动     -->
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>	<!--   Lombok注解方便写实体类     -->
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>    <!--  实体类上的注解描述  -->
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
         <dependency>     <!--   Spring Boot的mybatisPlus依赖(就只是这个mybatis-plus依赖不是)    -->
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.0</version>
        </dependency>    
        <dependency>   <!-- 代码生成器依赖(3.0.3后需要自己加) -->
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>    <!--Velocity模板-->
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.1</version>
        </dependency>	
Spring Boot的文件结构(创建包)
	创建common包放自己写的类(下有config/exception/util三个包)
mabatis plus自动生成主要文件(MP)
	在utils下创建mysqlGenerator类(自动生成)(要修改父包名等等)
public class mysqlGenerator {
   
   
    public static String scanner(String tip) {
   
   
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append("请输入" + tip + ":");
        System.out.println(help.toString());
        if (scanner.hasNext()) {
   
   
            String ipt = scanner.next();
            if (StringUtils.isNotEmpty(ipt)) {
   
   
                return ipt;
            }
        }
        throw new MybatisPlusException("请输入正确的" + tip + "!");
    }
    public static void main(String[] args) {
   
   
        AutoGenerator mpg = new AutoGenerator();	// 代码生成器
        DataSourceConfig dsc = new DataSourceConfig();	 // 数据源配置
        dsc.setDbType(DbType.MYSQL);	//数据库类型
        //dsc.setSchemaName("public");数据库schemaName
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/graduation?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);
       
        PackageConfig pc = new PackageConfig();	 // 包配置
        pc.setParent("com.xxw.graduation");	 //父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
        pc.setModuleName(scanner("模块名"));	//父包模块名
        mpg.setPackageInfo(pc);

        GlobalConfig gc = new GlobalConfig();	
基于Java+SpringBoot+mybatis+vue的旅游管理系统详细设计 本系统设计的是一个旅游售票管理系统的网站,此网站使用户实现了不需出门就可以在电脑前进行网上查询以及网上购票旅游门票等需求信息。 用户在注册登陆后,在后台可以实现;首页、个人中心、旅游攻略查看、酒店信息查看以及预定、车票信息查看以及预定、以及旅游资讯信息查看、后台可以查看自己的消费账单以及收藏管理、和订单信息等。 然而管理员则可以在后台直接管理;首页、个人中心、用户管理、消费账单管理、目标心得管理、旅游攻略管理、客房预订管理、房间类型管理、酒店预定管理、酒店订单信息管理、车票信息管理以及系统管理等信息。本 阅读详情

相关推荐

基于 Spring Boot 和 Vue 开发前后端分离快速开发平台源码分享

前言 微服务是近年来备受关注的话题,相比于传统的SOA而言,更容易理解,也更容易实践,它将“面向服务”的思想做得更加彻底。有人说它非常好,但就是“玩不起”,why? 微服务是一种分布式系统架构,它建议我们将业务切分为更加细粒度的服务,并使每个服务的责任单一且可独立部署,服务内部高内聚,隐含内部细节,服务之间低耦合,彼此相互隔离。此外,我们根据面向服务的业务领域来建模,对外提供统一的API接口。微服务的思想不只是停留在开发阶段,它贯穿于设计、开发、测试、部署、运维等软件生命周期阶段。 可见,我们提到的微

Trouvailless的博客 1044

Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制

Spring Boot 3 整合 Mybatis-Plus 实现数据权限控制。基于 JDK 17、Spring Boot 3、Spring Security 6、JWT、Redis、Mybatis-Plus、Knife4j等构建后端,基于Vue 3、Element-Plus 、TypeScript等构建前端的分离单体权限管理系统。🚀 开发框架: 使用 Spring Boot 3 和 Vue 3,以及 Element-Plus 等主流技术栈,实时更新。

Harry的博客 1608

一小时搭建Spring Boot+Vue 3博客系统:从零到部署的实战指南

在Web开发领域,前后端分离架构已成为构建现代应用的主流范式。其核心原理是将用户界面与业务逻辑解耦,前端专注于交互与数据展示,后端则提供标准化的API接口。这种架构的技术价值在于提升了开发效率、增强了系统可维护性,并支持团队并行协作。在实际工程实践中,Spring Boot凭借其快速启动和简化配置的特性,成为构建RESTful API服务的首选后端框架;而Vue 3则以其响应式系统和组合式API,为构建动态、高效的单页面应用提供了强大支持。结合MyBatis-Plus等高效数据持久层工具,开发者可以快速实现

weixin_30271335的博客 858

Spring Boot (Vue3+ElementPlus+Axios+MyBatisPlus +Spring Boot 前后端分离)

● 项目操作界面● 技术栈前后端分离开发,前端主体框架 Vue3 + 后端基础框架 Spring-Boot● 使用 Vue3+Element-Plus 技术先下载 node.js LTS 并安装:node.js 的 npm,用于管理前端项目包依赖创建 Vue 项目使用 idea 打开 springboot_vue 项目,并配置项目启动① 直接将 springboot_vue 项目拖到 idea ② 配置 springboot_vue 使用 npm 方式启动 启动测试,可以看到现在是 9090 端口

要学就学灰太狼的博客 1179

Spring Boot+Vue3前后端分离项目实战:从零搭建美食网站

前后端分离架构是现代Web开发的主流模式,其核心原理是将用户界面(前端)与业务逻辑和数据(后端)解耦,通过API进行通信。这种架构提升了开发效率、团队协作的并行性以及系统的可维护性和可扩展性。在技术实现上,后端常采用Spring Boot框架,它通过自动配置和起步依赖简化了Java应用的开发;前端则多选用Vue.js这类渐进式框架,配合Vite等现代构建工具提升开发体验。其技术价值在于实现了技术栈的灵活选型与独立部署。典型的应用场景包括企业级管理系统、电商平台和内容社区等需要复杂交互和动态数据的Web应用。

weixin_34319111的博客 407

Spring Boot+MyBatis Plus+JWT构建开源问卷系统实践

JWT认证和MyBatis Plus是现代化Java开发中的关键技术组合。JWT通过无状态令牌实现分布式系统安全认证,其标准化结构包含Header、Payload和Signature三部分,特别适合微服务架构。MyBatis Plus作为MyBatis增强工具,通过Lambda表达式和条件构造器大幅提升数据库操作效率。这两种技术结合Spring Boot框架,可快速构建企业级应用。以开源问卷系统为例,该技术栈实现了多题型支持、复杂逻辑跳转和高并发响应,其中JWT处理用户认证,MyBatis Plus优化数据

weixin_33924312的博客 546

vue实战入门后台篇一:springboot+mybatis实现网站后台-项目框架搭建

实现门户网站客户端、管理端界面及后台开发,使用vue+elementui+springboot+mybatis+mysql实现完整项目。

Java、前端、小程序学习笔记、问题汇总、项目实例分享,有需要请联系。 1210

STM32实战:滑模观测器与PLL锁相环融合的FOC无感控制精解

本文深入解析了STM32平台下结合滑模观测器(SMO)与PLL锁相环的无感FOC控制技术。通过实战案例详细介绍了PLL锁相环在消除SMO高频抖振、提升角度跟踪精度方面的关键作用,并分享了工程调参技巧、C语言实现细节及系统联调方法,为电机控制开发者提供了一套完整的解决方案。

weixin_30838873的博客 189

MATLAB不能识别已安装的visual studio 2015解决方法

首先,对于MATLAB识别已经安装的vs版本通过命令: mex -setup 下图为本电脑下同时安装的两个visual studio 如果搞清楚MATLAB识别电脑上安装vs的过程,可通过命令: mex -setup -v MATLAB输出识别编译器的整个过程。其中HKLM和HKCU分别是注册表中的HKEY_CURRENT_USER,HKEY_LOCAL_MA…的缩写,MATLAB没有找到对应编译器是由于注册表里没有对应信息(主要是文件路径,C++编译器的路径),或者在注册表里存在该信息,但是找不到

qq_36320710的博客 4895

特性阻抗 – SI/PI 世界碰撞的地方

除了谐振零点和峰值外,在一定频率下,传输线的阻抗看起来像远端开路时的电容器的阻抗,也看起来像远端短路时电感的阻抗。如果随后的制造变化将测得的阻抗推到 -10% 容差的低端(例如 44 欧姆)的测量区域内,那么如果在初始下降时测量,则真正的特性阻抗将在 42 欧姆时降低 5%,并且超出规格。这意味着,当我们测量红色或蓝色图的峰和相邻谷之间的中间阻抗时,它是该频率下传输线的特性阻抗。图 7 远端开路时(红色常亮)与远端短路时(蓝色常亮)的电感和电容抗阻抗与频率的关系(上图)和传输线的阻抗与频率(下图)的对比。

jkh920184196的博客 962

Natural Language Processing

作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是研究如何使计算机理解和处理自然语言的理论和方法,目的是让电脑更好的理解、获取、生成、存储和沟通人类语言。20世纪80年代末,IBM的三位博士陈天奇、周博磊和王力雄在贝尔实验室创建了首个自然语言处理系统——“布莱克多·艾森豪威尔”(Bletc

AI天才研究院 724

Vite 任意文件读取漏洞复现(CVE-2026-39363)

Vite开发服务器 WebSocket中的fetchModule方法未实施server.fs访问控制,导致攻击者可通过WebSocket连接并读取服务器上的任意文件(CVE-2026-39363)

iSee857的博客 220

9 硬件工程师笔面试高频知识考点真题解析——运算放大器

运算放大器(运放)摘要 运放是一种高增益、差分输入的模拟集成电路,具有虚短(线性区输入电压相等)和虚断(输入电流为零)特性,支持负反馈(线性放大)和开环/正反馈(饱和区比较)两种工作模式。关键特性包括高输入阻抗、低输出阻抗,理想运放参数(如无限增益)与实际参数(如有限带宽)的差异。 选型要点: 信号特性:直流/低频信号关注失调电压(Vos)、温漂;高频信号侧重带宽(GBW)和压摆率(SR)。 电源条件:单/双电源供电、电压范围及功耗需求(如电池设备需低静态电流)。 精度与噪声:微弱信号需低噪声运放,高精度场

XU157303764的博客 1673

STM32+FreeRTOS环境下LwIP协议栈移植详解

本文详细介绍了在STM32F407ZGT6平台上移植轻量级TCP/IP协议栈LwIP的过程。使用FreeRTOS操作系统和LAN8720A以太网PHY芯片,通过STM32CubeMX生成基础工程配置。重点包括LwIP源码的获取与工程集成、关键配置文件的编写(如lwipopts.h)、操作系统适配层sys_arch.c的实现,以及以太网接口驱动ethernetif.c的移植。文章特别强调内存管理、中断优先级、硬件校验和等关键配置项的注意事项,为基于STM32和LwIP的嵌入式网络开发提供了实用参考。

电脑管家 753

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: vue跳转注册时Unhandled promise rejection undefined
千山独吾行
博客等级 码龄9年 0粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值