首页 > 其他分享 >使用IDEA进行创建后台项目

使用IDEA进行创建后台项目

时间:2023-09-07 17:25:03浏览次数:30  
标签:return String 创建 IDEA PageInfo student 后台 import public

1 项目的配置过程
第一步 进行配置项目
1 选择 file -> NEW -> project

2 在左侧选择 Spring Initializr 之后点击next

3 注意 此页面有可能加载时间特别长,加载完之后进到下一个页面

4 此时第一张图片问默认状态

里面需要进行更改的有,首先是Artifact 里面用来写项目的名称,Type类型改为 Maven Project(如果默认是这个,就不用改了),之后是 java Version ,我的是1.8 选择了 8,最后将更改项目名称的时候,最后Package里面的删掉

5 进入到下一个页面之后,选择左侧 web 然后选择第一个 Spring Web,之后在点击左侧的SQL,选择里面的MyBatis Framework 和 Mysql Driver,最后选择的对比第二张图最右侧那一栏,一共三个

6 项目名称 和路径

如果不进行更改项目路径,直接点击,如果进行修改,要在最后面加上 ’ / 项目名 ',之后点击完成就行

2 基本的包和类

在创建好项目之后,要等待一会,等着java包蓝色,就可以使用了。

在进行配置好之后,首先要做的,就是进行数据库连接的配置

其中需要主要的: 如果在项目配置的时候,没有进行勾选SQL里面的两项,需要在 pom.xml文件进行配置

 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>

默认的情况下,是存在的是 application.properties文件,需要创建一个application.yml,之后就是进行配置 application.yml文件

application.properties文件配置,一般不用,都将其注释起来

application.yml

在这个里面中,需要注意的是,里面的密码是自己的密码,不一定跟我的一样,然后就是url最后的bookborrow 是要使用的数据库名称
3 接下来就是逻辑的书写了
主要是分为三个包 po mapper controller 这几个包名字随意

1 po 文件夹中,里面主要是与数据库中相对于的数据,一些getter和setter方法。
以student为例

student数据库的图

然后po中的student类中写的是:

package com.test.po;

public class Student {
    private  int stuId;
    private String stuNo;
    private String name;
    private String password;
    private String phone;
    private String email;

    public int getStuId() {
        return stuId;
    }

    public void setStuId(int stuId) {
        this.stuId = stuId;
    }

    public String getStuNo() {
        return stuNo;
    }

    public void setStuNo(String stuNo) {
        this.stuNo = stuNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

2 在mapper 文件夹的StudentMapper,主要是进行设计方法和数据库语句的书写,里面主要实现的功能就是学生的增删改查

package com.test.mapper;


import com.test.po.Student;
import org.apache.ibatis.annotations.*;

import java.util.ArrayList;

@Mapper
public interface StudentMapper {

        //    获取学生列表
        @Select("select * from student")
        public ArrayList<Student> getStudentList();

        //    根据id查询某个学生
        @Select("select * from student where stuid = #{stuId}")
        public Student getStudentById(int stuId);

        //    增加

        @Insert("insert into student(stuno, name, password, phone, email) values(#{stuNo}, #{name}, #{password}, #{phone}, #{email})")
        public void insert(Student student);

        //    修改
        @Update("update student set stuno = #{stuNo}, name = #{name}, password = #{password}, phone = #{phone}, email = #{email} where stuid = #{stuId}")
        public void update(Student student);

        //    删除
        @Delete("delete from student where stuid = #{stuId}")
        public void delete(int stuId);
}

3 controller 文件夹下的StudentController ,用来进行具体数据的处理

package com.test.controller;


import com.test.mapper.StudentMapper;
import com.test.po.Student;
import com.test.vo.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;

@RestController
@RequestMapping("/student")
public class StudentController {

// @Autowired表示自动注入
    @Autowired
    private StudentMapper studentMapper;


//    查询学生列表   @RequestMapping("/list")此时表示的在查询的时候的url路径,应为在最上面已经声明了 student  所以总体来说应该是  http://localhost:8080/student/list
    @RequestMapping("/list")
    public PageInfo getStudentList(){
        ArrayList<Student> students= studentMapper.getStudentList();
        return new PageInfo<>(200,"操作成功",students);
    }

//    根据id进行查询
    @RequestMapping("/getById")
    public PageInfo getById(int stuId){
        Student student = studentMapper.getStudentById(stuId);
        return new PageInfo<>(200,"操作成功",student);
    }

    //    用户添加/增加功能 需要接收一个用户信息
    @RequestMapping("/save")
    public PageInfo save(Student student) {
//        此时msg里面已经有返回的数据 所以data里面面不用传递数据
        studentMapper.insert(student);
        return new PageInfo<>(200,"操作成功",null);
    }

    //    删除 根据id进行删除
    @RequestMapping("/delete")
    public PageInfo delete(int stuId) {
        studentMapper.delete(stuId);
        return new PageInfo<>(200,"操作成功",null);
    }

    //    更新/修改功能
    @RequestMapping("/update")
    public PageInfo update(Student student) {
        studentMapper.update(student);
        return new PageInfo<>(200,"操作成功",null);
    }
}

4 在vo文件夹下 主要是对数据返回,进行处理

package com.test.vo;

// 泛型T:就是把数据类型定义成一个变量,T能够接收各种类型 传来什么,T为什么类型
public class PageInfo<T>  {
    private int code;
    private String msg;
    private T data;

    public PageInfo() {
    }

    public PageInfo(int code, String msg, T data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "PageInfo{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}

基本上后端的功能写完,然后在Test02Application 进行运行,

此时是正常启动页面

启动之后,在浏览器就可以进行对学生的操作,
例如 使用 http://localhost:8080/student/list 就可以在页面看见

最后,在进行配置之后,就可以在前端进行发送请求,返回数据给前端了。
不过,需要主要一个问题,就是在发送请求的时候,会发生 跨域的问题,解决方法

1 在后端的项目中,进行配置,在filter文件夹下建立一个过滤器
2 在 config文件夹下建立一个配置类
具体代码如下
config文件夹的Config类

package com.test.config;

import com.test.fillter.CorsFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Arrays;

// 配置过滤器

@Configuration
public class Config {
    @Bean
    public FilterRegistrationBean<CorsFilter> corsFilter() {
        // 创建一个过滤器注册器对象
        FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<>();
        bean.setOrder(1);
        bean.setFilter(new CorsFilter());
        // 访问后台所有路径时,都需要过允许跨域访问的过滤器
        bean.setUrlPatterns(Arrays.asList("/*"));

        return bean;
    }
}

filter文件夹的CorsFilter类

package com.test.fillter;

import org.springframework.web.filter.OncePerRequestFilter;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//

public class CorsFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "3600000");
        response.setHeader("Access-Control-Allow-Header", "*");
        filterChain.doFilter(request, response);
    }
}

注意,进行后端的修改之后,要记得重新运行一下项目
————————————————
版权声明:本文为CSDN博主「qq_51357960」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_51357960/article/details/127634198

标签:return,String,创建,IDEA,PageInfo,student,后台,import,public
From: https://www.cnblogs.com/baozhengrui/p/17685527.html

相关文章

  • 爬虫系统的核心:如何创建高质量的HTML文件?
    在网页抓取或爬虫系统中,HTML文件的创建是一项重要的任务。HTML文件是网页的基础,包含了网页的所有内容和结构。在爬虫系统中,我们需要生成一个HTML文件,以便于保存和处理网页的内容。在这种情况下,可以使用Java函数来实现将爬取到的网页内容保存为HTML文件的功能。具体来说,当爬虫系统......
  • Pycharm创建文件时,自动生成文件头注释(作者、日期等信息)
    Pycharm里【文件】-【设置】-【编辑器】-【文件和代码模板】-【PythonScript】里填写自己想要设置的模板内容,点击【确定】或【应用】。模板示例,可以根据自己的需求进行更改#coding:utf-8#Project:${PROJECT_NAME}#File:${NAME}.py#Author:李凤娟#Date:$DATE$TIME#I......
  • 前端数据可视化:利用D3.js创建动态图表
    前言数据可视化是将数据以图表、图形等形式展示出来,以便更直观地理解和分析数据。D3.js(Data-DrivenDocuments)是一个强大的JavaScript库,用于创建交互式和动态的数据可视化。本文将介绍如何使用D3.js创建动态图表,并通过一个具体的示例来说明。示例:柱状图我们以柱状图为例,展示一......
  • 使用VMware创建虚拟机关于VMware Tools无法安装的问题
    VM版本:操作系统版本:WindowsServer2008R2x641、虚拟机菜单下的安装VMwareTools为灰色解决方案:在虚拟机设置中,找到CD/DVD,选择使用ISO映像文件,找到VMware安装路径下的windows.iso(linux系统选择linux.iso)设置好后,在虚拟机中的光盘中就可以已找到安装程序了,双击安装即可:......
  • Padavan配置https后台访问
    设置https访问时需要SSL证书,证书有两种方法获取:padavan可以生成一个证书,只不过是未经浏览器认证的证书从域名服务商申请第三方机构的证书,比如阿里云、腾讯云等一、Padavan生成的证书1、web进入Padavan管理后台,选择左侧高级设置--->系统设置,web服务器协议选择“HTTP&HTTPS”......
  • 【错误记录】Android Studio 创建 Module 模块报错 ( Cannot resolve external depend
    文章目录一、报错信息二、解决方案目前使用的是最新的Gradle配置,创建Module生成的源码与Gradle配置出现了冲突,导致的问题;解决此类问题,要仔细检查Gradle构建脚本,排查每个依赖库的来源;本次错误就是AS系统自动成的Module修改了Gradle构建脚本,导......
  • IDEA编译报错:maven-resources-production:guyi-admin: java.lang.IndexOutOfBoundsExc
    编译项目的时候,IDEA一直提示:maven-resources-production:xxxxxx:java.lang.IndexOutOfBoundsException:Range[-1,-1+1025)outofboundsforlength1024,maven-resources-production:xxxxxx:java.lang.IndexOutOfBoundsException:Range[-1,-1+1025)outofboundsfor......
  • spring中的bean使用注解创建,applicationContext.xml中需要写的内容,以及dao,service实
    2023-09-07applicationContext.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns......
  • oracle创建表空间用户,导入导出dmp备份库
    数据导出:1将数据库TEST完全导出,用户名system密码manager导出到D:\daochu.dmp中   exp file=d:\daochu.dmpfull=y2将数据库中system用户与sys用户的表导出   exp file=d:\daochu.dmpowner=(system,sys)3将数据库中的表inner_notify、notify_staff_re......
  • 2023年 IntelliJ IDEA 下载、安装教程,亲测可用,持续更新
    一、下载与安装IDEA首先先到官网下载最新版的IntelliJIDEA,下载后傻瓜式安装就好了官网下载地址:https://www.jetbrains.com/1、下载完后在本地找到该文件,双击运行idea安装程序2、点击Next3、选择安装路径,Next4、按需求选择,点击Next5、默认,不用改,直接点Install,安......