期末作业备份文件

本文档详细介绍了如何使用Springboot创建一个以学号命名的项目,配置pom.xml添加相关依赖,设置application.yml,构建entity、controller、dao层,实现JPA数据库查询和网页展示数据。同时,指导学生完成jsp页面的增删改查功能,包括创建webapp目录、views文件夹,编写控制层和jsp文件。
摘要由CSDN通过智能技术生成

 1.创建Springboot项目

项目名称必须使用自己的学号,例如学号是2018123456,项目名称就是k2018123456,k小写

勾选Springboot的Web支持,方便后期创建jsp项目

2.双击打开pom.xml添加项目jar相关依赖

注意:一定是在dependencies复数形式里面添加

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- 添加servlet依赖模块 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <!-- 添加jstl标签库依赖模块 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!--添加tomcat依赖模块.-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <!-- 使用jsp引擎,springboot内置tomcat没有此依赖 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--添加mysql驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>5.1.37</version>
        </dependency>

3.配置application.yml项目信息

点击resources目录,新建application.yml,将下面的内容复制到配置文件中,仔细查看项目配置,端口号和项目名

application.yml配置内容,复制粘贴放进去

spring:
  mvc:
    view:
      prefix: /views/      #视图解析器jsp存放文件夹
      suffix: .jsp         #视图解析器匹配文件后缀名
  devtools:
    restart:
      enabled: false
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://47.102.221.219:3306/tqm?useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
    hikari: # springboot 2.0 整合了hikari ,据说这是目前性能最好的java数据库连接池
      username: tqm
      password: tqm
  jpa:
    hibernate:
      ddl-auto: update  # 第一次建表create  后面用update,要不然每次重启都会新建表
    show-sql: true      # 显示jpa执行的SQL语句

server:
  port: 8084   #这里设置项目端口号,如果被占用 请更换其他端口号
  servlet:
    context-path: /k2018xxxx   #  2018xxxx换成自己的学号  项目访问路径  localhost:端口号/项目路径

4.创建项目包结构,分别是entity,controller,dao

完成以后检查项目包目录是否正确

5.实现jpa查询数据库并通过网页显示数据

遇到错误,先找同学咨询,处理不了,找老师

5.1   将下面jpa管理的实体类复制到entity包中

package com.example.k2018xxxx.eneity;

import javax.persistence.*;

@Entity  // 该注解声明一个实体类,与数据库中的表对应
@Table(name = "k2018xxxx_userinfo")  //这里注解是写表名  k2018xxxx改成自己的学号
public class Userinfo {
    @Id    //主键id
    @GeneratedValue(strategy = GenerationType.IDENTITY)//主键生成策略
    private int id;
    private String num;
    private String name;
    private String sex;

    public Userinfo() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

5.2  将下面dao操作类复制到dao包中

package com.example.k2018xxxx.dao;

import com.example.k2018xxxx.eneity.Userinfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;

@Component    // Userinfo代表你要操作的实体类,Integer 代表主键类型   <实体类,主键类型>
public interface UserinfoDAO extends JpaRepository<Userinfo, Integer> {


}

5.3  将下面controller操作类复制到controller包中

package com.example.k2018xxxx.controller;

import com.example.k2018xxxx.dao.UserinfoDAO;
import com.example.k2018xxxx.eneity.Userinfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller  //代表处理网络请求
public class UserinfoController {

    //注入数据库操作dao
    @Autowired
    UserinfoDAO userinfoDAO;

    // 查询所有信息请求
    @ResponseBody
    @RequestMapping("/userinfoList")
    public Object findAll() {
        return userinfoDAO.findAll();
    }

    // 添加信息
    @ResponseBody
    @RequestMapping("/userinfoSave")
    public Object userinfoSave(Userinfo obj) {
        return userinfoDAO.save(obj);
    }

    //删除信息
    @ResponseBody
    @RequestMapping("/userinfoDelete")
    public Object userinfoDelete(Integer id) {
        userinfoDAO.deleteById(id);
        return "删除" + id;
    }

}

6.运行程序,通过网页测试结果,并进行截图

6.1 测试程序数据添加,端口号和项目名称根据自己的情况修改

下面的是添加用户的测试访问路径,多添加几条数据,方便后期查询

http://localhost:8084/k2018xxxx/userinfoSave?num=2018123456&name=张三&sex=男

使用?传递参数,多个参数之间使用&连接,用自己的真实姓名和学号 性别

浏览器访问测试结果如下图所示,

6.2  测试程序查询列表操作

访问路径如下

http://localhost:8084/k2018xxxx/userinfoList

运行截图如下:

6.3 测试程序删除数据操作

访问路径如下:  id是你数据库中存在的数据的id值

http://localhost:8084/k2018xxxx/userinfoDelete?id=1

运行截图如下:

恭喜您到这里,你已经成功创建了项目,并实现基本功能

从这里开始将由你自己来完成,每个同学,参考5步骤和6步骤,自己完成两个表的操作,每个表至少四个字段以上,不懂之处多看代码中的注释。

实验报告中,测试截图和代码为考核标准

步骤二 整合jsp,实现页面的增删改查

2.1 在main目录中新建webapp文件夹,用于存储web资源文件

建立完成以后项目如下图所示,请检查自己项目

2.2 在webapp目录中新建views文件夹,用于存放jsp文件

建立完成以后项目如下图所示,请检查自己项目

下面开始写代码,请按照要求复制

2.3 写用户表对应jsp控制层

请将下面内容复制到controller包进行粘贴

package com.example.k2018xxxx.controller;

import com.example.k2018xxxx.dao.UserinfoDAO;
import com.example.k2018xxxx.eneity.Userinfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller  //代表处理网络请求
public class UserinfoJSPController {

    //注入数据库操作dao
    @Autowired
    UserinfoDAO userinfoDAO;

    // 查询信息到页面展示
    @RequestMapping("/userinfo_list")
    public String userinfo_list(Model model) {
        List<Userinfo> all = userinfoDAO.findAll();  //查询所有数据
        model.addAttribute("all", all);   //绑定参数到页面
        return "userinfo_list";    //返回对应的jsp页面
    }

    // 保存信息
    @RequestMapping("/userinfo_save")
    public String userinfo_save(Userinfo obj) {
        userinfoDAO.save(obj);   //保存到数据库
        return "redirect:userinfo_list";  //重定向到 查询请求 方便及时看到最新的数据
    }

    //删除信息
    @RequestMapping("/userinfo_delete")
    public String userinfo_delete(Integer id) {
        userinfoDAO.deleteById(id);
        return "redirect:userinfo_list";  //重定向到 查询请求 方便及时看到最新的数据
    }

    //跳转到编辑信息页面
    @RequestMapping("/userinfo_edit")
    public String userinfo_edit(Integer id, Model model) {
        Userinfo obj = userinfoDAO.getById(id);
        model.addAttribute("obj", obj);   //绑定参数到页面
        return "userinfo_edit";    //返回对应的jsp页面
    }

}

2.4 点击webapp目录中的views文件夹,创建nav.jsp文件,将下面内容复制到jsp文件中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值