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.Driver
        url: jdbc:mysql://localhost:3306/day054_sms?useUnicode=true&characterEncoding=utf8
        username: root
        password: '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`,`

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

扩展卡尔曼滤波技术(Extended Kalman Filter,EKF)

一、概念介绍 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量中&#xff0c;估计动态系统的状态&#xff0c;然而简单的卡尔曼滤波必须应用在符合高斯分布的系统中。 扩展卡尔曼滤波就是为了解决非线性问题&#xff0c;普通卡尔曼…

Socks VS HTTP 谁才是最快的代理协议

目录 前言 一、Socks代理协议 二、HTTP代理协议 三、Socks代理协议和HTTP代理协议的比较 1. 性能 2. 安全性 3. 灵活性 4. 应用场景 四、哪一个更快&#xff1f; 五、总结 前言 在网络传输中&#xff0c;代理协议扮演着非常重要的角色。Socks协议和HTTP协议是两种常…

探索正则可视化工具:让编程更直观、高效

导语&#xff1a;在当今的编程世界中&#xff0c;正则表达式已成为不可或缺的技能。然而&#xff0c;理解和编写正则表达式往往是一项具有挑战性的任务。为了降低门槛&#xff0c;提高编程效率&#xff0c;正则可视化工具应运而生。 一、正则表达式的简介与历史 正则表达式&a…

Failed to resolve org.junit.platform:junit-platform-launcher:1.9.3

springboot 跑 unit test 的时候&#xff0c;如果报错如题的话&#xff0c;可以更改idea 里的 Settings ——> HTTP Proxy 配置为&#xff1a;Auto-detect proxy settings

2023 CCF中国软件大会(CCF ChinaSoft)“软件定义汽车”论坛成功召开

2023年12月1日下午&#xff0c;2023年度CCF中国软件大会“软件定义汽车”论坛成功召开。 本次论坛由华东师范大学蒲戈光教授、武汉光庭信息技术股份有限公司朱敦尧董事长以及华东师范大学张越龄副教授联合组织举办。论坛主要关注汽车的智能网联化与电动化的融合&#xff0c;包括…

【Android Studio】【入门】helloworld和工程的各个文件的作用

这里写目录标题 可以开发的app类型注意点 搞一个helloworld玩玩各个文件的作用 可以开发的app类型 Phone and Tablet&#xff1a;开发手机和平板的app&#xff1b;Wear OS&#xff1a;穿戴系统&#xff1b;TV&#xff1a;电视app&#xff1b;Android Auto&#xff1a;汽车上的…

Java API接口强势对接:构建高效稳定的系统集成方案

文章目录 1. Java API接口简介2. Java API接口的优势2.1 高度可移植性2.2 强大的网络通信能力2.3 多样化的数据处理能力 3. 实战&#xff1a;Java API接口强势对接示例3.1 场景描述3.2 用户管理系统3.3 订单处理系统3.4 系统集成 4. 拓展&#xff1a;Java API接口在微服务架构中…

ROS 动态坐标变换

在ROS 中&#xff0c;坐标变换是一个重要的概念&#xff0c;因为它允许系统中的不同节点和模块以统一的方式描述物体的位置和方向。 动态坐标变换指的是当机器人或其环境中物体的位姿&#xff08;位置和姿态&#xff09;发生变化时&#xff0c;能够实时更新这些信息的过程。 …

Linux---进程管理

本章主要介绍RHEL8中如何管理并查看进程。 了解进程并查看系统中存放的进程了解进程的信号进程优先级设置 进程介绍 在 Windows中打开任务管理器就可以查看到系统中的所有进程&#xff0c;如图下图所示。 这里列出了系统中所有的进程&#xff0c;不过也可以使用命令行工具来…

学生成绩的增删改查

接上一篇MySQL数据库与其管理工具Navicat link 1.下载JDBC 可以登录MySQL的官方网站&#xff1a;www.mysql.com&#xff0c;下载JDBC-MySQL数据库驱动&#xff08;JDBC Driver for MySQL&#xff09;下载mysql-connector-java-5.1.40.zip后&#xff0c;将该zip文件解压至硬盘&a…

html和css写去哪儿导航条

目录 1、css代码 2、html代码 3、效果图 1、css代码 * {padding: 0;margin: 0;list-style: none;text-decoration: none;}.nav {height: 50px;background-color: rgb(36, 210, 188);margin-top: 50px;padding-left: 20px;}li {float: left;width: 75px;line-height: 50px;tex…

【EI会议征稿-ACM出版】2023年信息化教育与人工智能国际学术会议(ICIEAI 2023)

2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xff09; 2023 International Conference on Information Education and Artificial Intelligence 2023年12月22-24日 中国-厦门 2023年信息化教育与人工智能国际学术会议&#xff08;ICIEAI 2023&#xf…

8. 信号基础

8. 信号基础 1. 基本概念1.1 信号的目的是用来通信的1.2 信号由谁处理、怎么处理1.3 信号是异步的 2. 信号的分类2.1 可靠信号和不可靠信号2.2 实时信号和非实时信号 3. 进程对信号的处理3.1 signal()3.2 sigaction()3.2.1 struct sigaction3.2.2 实例 4. 向进程发送信号4.1 ki…

欧拉操作系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 这个章节主要是介…

微信小程序中生命周期钩子函数

微信小程序 App 的生命周期钩子函数有以下 7 个&#xff1a; onLaunch(options)&#xff1a;当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;。onShow(options)&#xff1a;当小程序启动或从后台进入前台显示时&#xff0c;会触发 on…

CSS属性 display和visibility的区别

在CSS中&#xff0c;有两种让元素隐藏的方式&#xff0c;分别是display和visibility&#xff0c;他们有什么区别呢&#xff1f; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"…

[Kubernetes]1.Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群

一. Kubernetes(K8S)简介 Kubernetes (K8S) 是一个为 容器化应用 提供 集群部署 和 管理 的开源工具,和docker swarm类似,由 Google 开发. Kubernetes 这个名字源于希腊语,意为 “ 舵手 ” 或 “ 飞行员 ” , k8s 这个缩写是因为 k 和 s 之间有八个字符的关系, Google…

echarts 柱状图 定时自动轮播(非提示框轮播)

看了很多文档都是实现提示框轮播的&#xff0c;而我要实现的功能是&#xff1a;柱状图有多条数据时&#xff0c;轮播展示其中几条&#xff0c;比如我有100条数据&#xff0c;不能全部展示&#xff0c;设置轮播5条或者10条&#xff0c;依次显示数据&#xff0c;并形成闭环。 &a…

远程服务器——如何在Conda中安装R环境

目录 1. R的安装2. VScode 配置参考文献 1. R的安装 推荐使用anaconda或者miniconda&#xff0c;创建虚拟环R_env境然后安装R&#xff1b; 使用conda search r-base查看可下载的R的版本&#xff1b;R版本比较低&#xff0c;一般可以先增加源&#xff1a; % 增加源 conda con…

鸿蒙开发ArkTS语言—状态管理概述

概述 我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念。 图1 效果图 上面的示例中&#xff0c;用户与应用程序的交互触发了文本状态变更&#xff0c;状态变更引起了UI渲染&#xff0c;UI从“Hello World”变更为“Hel…