Java项目学生管理系统一前后端环境搭建

在现代的软件开发中,学生管理系统是一个常见的应用场景。通过学生管理系统,学校能够方便地管理学生的信息、课程安排和成绩等数据。本文将介绍如何使用Java语言搭建一个学生管理系统的前后端环境,并提供一个简单的示例。

1.环境搭建

  • 学生管理系统 Student manage system (sms)

1.1 后端环境

我们需要搭建后端环境来处理前端发送的请求并与数据库进行交互。我们可以使用Java语言搭建后端应用,并选择一个Java Web框架,如Spring Boot或Servlet来处理HTTP请求。同时,还需要选择一个关系型数据库,如MySQL或PostgreSQL,来存储学生和课程等数据。

  • 项目名:day054_sms

  • pom文件:mysql驱动、MyBatis、通用mapper、PageHelper、web、test、swagger、lombok

  • yml文件:数据源、MyBatis驼峰、日志(sql语句)

  • 启动类

  • 配置类:swagger配置类、跨域配置类

  • 项目名:day054_sms

  • pom文件:mysql驱动、MyBatis、通用mapper、PageHelper、web、test、swagger、lombok

        <!--确定spring boot版本--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version><relativePath/></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><mybatis.starter.version>1.3.2</mybatis.starter.version><mysql.version>5.1.32</mysql.version><swagger.version>2.7.0</swagger.version><pageHelper.starter.version>1.2.5</pageHelper.starter.version><mapper.starter.version>2.0.2</mapper.starter.version></properties><dependencies><!--web开发启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--test开发启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!-- mybatis启动器 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis.starter.version}</version></dependency><!-- 分页助手启动器 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pageHelper.starter.version}</version></dependency><!-- 通用Mapper启动器 --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>${mapper.starter.version}</version></dependency><!-- mysql驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>${swagger.version}</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>${swagger.version}</version></dependency></dependencies>
  • yml文件:数据源、MyBatis驼峰、日志(sql语句)

    #端口号
    server:port: 8080#数据源(连接池)
    spring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/day054_sms?useUnicode=true&characterEncoding=utf8username: rootpassword: '1234'#javabean与表驼峰映射
    mybatis:configuration:map-underscore-to-camel-case: true#日志,给com.czxy.mapper包设置自己的日志级别
    logging:level:com:czxy:mapper: debug
  • 启动类

    package com.czxy;import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import tk.mybatis.spring.annotation.MapperScan;	//【注意】tk包下的注解/*** @author 桐叔* @email liangtong@itcast.cn* @description*/
    @SpringBootApplication
    @MapperScan("com.czxy.mapper")          //扫描指定包,将在到Spring容器。取代:@org.apache.ibatis.annotations.Mapper 【注意】扫描和@Mapper不能同时使用
    public class SmsApplication {public static void main(String[] args) {SpringApplication.run(SmsApplication.class, args);}
    }
  • 配置类:swagger配置类、跨域配置类
    在这里插入图片描述

1.2 数据库

create database day054_sms;
use day054_sms;CREATE TABLE `tb_user` (`u_id` VARCHAR(32) PRIMARY KEY NOT NULL COMMENT '用户编号',`user_name` VARCHAR(50) UNIQUE DEFAULT NULL COMMENT '用户名',`password` VARCHAR(32) DEFAULT NULL COMMENT '密码',`gender` BIT(1) DEFAULT NULL COMMENT '性别,1表示男,0表示女',`image` VARCHAR(300) DEFAULT NULL COMMENT '头像图片'
);INSERT  INTO `tb_user`(`u_id`,`user_name`,`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue开发,axios网络请求框架基本用法和封装

axios安装 npm install axiosaxios基本用法 默认的get请求&#xff0c;参数用params追加&#xff0c;多个参数通过json对象的方式&#xff0c;例如params:‘{type:“home”,page:1}’ axios({url: https://api.videolog.net.cn/baidu/token,params: }).then(value > {co…

为什么选择计算机

很久以前&#xff0c;有一个年轻人名叫艾登。他生活在一个充满奇妙魔法的世界里&#xff0c;但他总觉得自己缺少一种独特的能力&#xff0c;一种可以创造和改变世界的力量。 一天&#xff0c;艾登无意中进入了一座古老的图书馆&#xff0c;那里充满了尘封的书籍和神秘的氛围。…

WT588F02B-8S语音芯片助力破壁机:智能声音播放提示IC引领健康生活新潮流

在追求健康饮食的时代潮流中&#xff0c;破壁机作为榨汁、搅拌的重要厨房电器&#xff0c;融入智能技术的趋势不断加强。唯创知音的WT588F02B-8S语音芯片作为声音播放提示IC&#xff0c;为破壁机注入了更智能、便捷的声音提示功能&#xff0c;引领用户迈入健康生活的新潮流。 …

入门指南:使用Prometheus监控Linux服务器

Prometheus介绍 Prometheus是一款开源的监控系统&#xff0c;主要用于收集、存储和查询时间序列数据&#xff0c;以便于对系统进行监控和分析。以下是Prometheus的架构图介绍&#xff1a; Prometheus的架构由四个主要组件组成&#xff1a; Prometheus Server&#xff08;Prom…

PCL 点云最小二乘法拟合二维圆

文章目录 一、原理概述二、实现代码三、实现效果参考资料一、原理概述 二、实现代码 // 标准文件 #include <iostream>// PCL #include <pcl/io/pcd_io.h>

SVM原理理解

目录 概念推导&#xff1a; 共识&#xff1a;距离两个点集距离最大的分类直线的泛化能力更好&#xff0c;更能适应复杂数据。 怎么能让margin最大&#xff1f; 最大化margin即&#xff1a; 拉格朗日乘子法&#xff1a; 为什么公式中出现求和符号? SVM模型: 小结&#…

第59天:django学习(八)

事务 事务是MySQL数据库中得一个重要概念,事务的目的&#xff1a;为了保证多个SQL语句执行成功&#xff0c;执行失败&#xff0c;前后保持一致&#xff0c;保证数据安全。 开启事务的三个关键字 start transaction commit rollback 开启事务 from django.db import transaction…

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-6复数Complex Number x 2 − 2 x 2 0 ⇒ x 1 i x^2-2x20\Rightarrow x1\pm i x2−2x20⇒x1i 代数表达&#xff1a; z a b i , R e ( z ) a , I m ( z ) b zabi,\mathrm{Re}…

GO设计模式——9、过滤器模式(结构型)

目录 过滤器模式&#xff08;Filter/Criteria Pattern&#xff09; 代码实现 过滤器模式&#xff08;Filter/Criteria Pattern&#xff09; 过滤器模式&#xff08;Filter Pattern&#xff09;或标准模式&#xff08;Criteria Pattern&#xff09;是一种设计模式&#xff0c;…

【深度学习】一维数组的聚类

在学习聚类算法的过程中&#xff0c;学习到的聚类算法大部分都是针对n维的&#xff0c;针对一维数据的聚类方式较少&#xff0c;今天就来学习下如何给一维的数据进行聚类。 方案一&#xff1a;采用K-Means对一维数据聚类 Python代码如下&#xff1a; from sklearn.cluster im…

shell语言判断

目录 判断&#xff1a; shell条件测试 数值比较 文件测试 字符串比较 and和or 流程控制if&#xff1a; 单分支结构&#xff1a; 双分支结构 多分支结构 嵌套结构 调试脚本 注意&#xff1a; 测试语法&#xff1a; 模式匹配&#xff1a;case 判断&#xff1a; …

Vue 防止页面闪烁 v-cloak

v-cloak 指令&#xff1a;用于解决页面渲染的过程中&#xff0c;出现闪烁的问题。 注&#xff1a;当网速较慢&#xff0c;来不及渲染时&#xff0c;页面上就会出现源码【例如&#xff1a;{{ xxx }} 】。 语法格式&#xff1a; <template><div v-cloak>内容</d…

[python库] mistune库的基本使用

前言 mistune库是一个解析Markdown的利器&#xff0c;使用起来非常简单。当我们想要解析Markdown格式的文档时&#xff0c;只需两步就能将其转换成html格式。如下&#xff1a; import mistune mistune.html(YOUR_MARKDOWN_TEXT)安装方式也非常简单&#xff0c;dddd&#xff1…

JavaSE基础50题:10. 计算1/1-1/2+1/3-……+1/99-1/100的值(两种方法)

概述 计算1/1 - 1/2 1/3 - …… 1/99 - 1/100的值。 当分母为偶数时&#xff0c;符号是负的&#xff0c;放分母为奇数时&#xff0c;符号是负的。 方法一 用 flg 做了一个正负交替 【代码】 public static double func() {double sum 0;int flg 1; //设置正负号的for (i…

java中可重入锁是什么?

可重入锁是一种支持同一个线程多次获得同一把锁的锁机制。在 Java 中&#xff0c;synchronized 关键字和 ReentrantLock 类都支持可重入锁。 可重入锁的主要特点是允许同一个线程多次获取同一把锁&#xff0c;而不会导致死锁。这使得在进行递归调用或者多层调用的情况下&#…

CopyOnWriteArraySet怎么用

简介 CopyOnWriteArraySet是一个线程安全的无序集合&#xff0c;它基于“写时复制”的思想实现。它继承自AbstractSet&#xff0c;可以将其理解成线程安全的HashSet。 CopyOnWriteArraySet在读取操作比较频繁、写入操作相对较少的情况下可以提高程序的性能和可靠性。它的线程…

力扣每日一题day29[102. 二叉树的层序遍历]

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例 2&#xff1a; 输入&…

『亚马逊云科技产品测评』活动征文|基于亚马逊云EC2搭建PG开源数据库

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…

配置Ubuntu18.04使iptables规则重启系统后仍然有效

第一步&#xff1a;保存iptables规则到文件 /etc/iptables.rules iptables-save > /etc/iptables.rules 第二步&#xff1a;将如下代码写入 /etc/rc.local #!/bin/sh iptables-restore < /etc/iptables.rules 第三步&#xff1a;为 /etc/rc.local 文件赋可执行权限 …

docker安装node及使用

文章目录 一、安装node二、创建node容器三、进入创建的容器如有启发&#xff0c;可点赞收藏哟~ 一、安装node 查看可用版本 docker search node安装最新版本 docker install node:latest二、创建node容器 docker run -itd --name node-test node–name node-test&#xff1…