SpringBoot--页面显示列表功能

功能介绍: 用于在table中渲染出数据库中的数据。

1、IDEA进行相关的配置,并且创建SpringBoot项目,目录如下:
在这里插入图片描述
2、domain中创建实体类,用于和数据库中的数据表关联起来,User。

package com.example.demo.domain;

public class User {
    // 对应数据表user中的各字段
    private String uuid;
    private String username;
    private String gender;
    private int age;
    private String phone;
    private String address;
    private String email;
    private float salary;

    // 鼠标右键选择generate,接着选择setter and getter,选中所有字段,然后点击Ok,便会自动为我们自动生成get和set方法。
    public String getUuid() {
        return uuid;
    }
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }

    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

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

    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }

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

    public float getSalary() {
        return salary;
    }
    public void setSalary(float salary) {
        this.salary = salary;
    }
}

3、mapper中创建接口(interface),如:UserMapper。

package com.example.demo.mapper;

import com.example.demo.domain.User;
import org.apache.ibatis.annotations.*;
import java.util.List;

public interface UserMapper {
    // 与数据库相关的操作,通过注解来实现
    // 查询所有数据在列表中
    @Select("select * from user")
    @Results({@Result(column = "username",property = "username")})  // MyBatis中使用@Results注解来映射查询结果集到实体类属性,column为数据库字段名,porperty为实体类属性名。
    public List<User> findAll();  // 创建一个findAllUser()方法,返回类型是list,list元素类型是User。
}

4、service中创建服务(对应着mapper中的接口),如:UserService。

package com.example.demo.service;

import com.example.demo.domain.User;
import com.github.pagehelper.PageInfo;
import java.util.List;

public interface UserService {
    // 简单分页查询
    PageInfo<User>findAllSimplePage(int page,int size);
}

5、service-impl中创建接口服务的实现(对应着service中的接口),如:UserServiceImpl。

package com.example.demo.service.impl;

import com.example.demo.domain.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service("UserService")
public class UserServiceImpl implements UserService {
    @Resource  // 接口只能有一个实现类(@Resource是JDK提供的,通过name名字查找;而Autowired是Spring提供的,通过type类型查找。)
    private UserMapper userMapper;

    // 鼠标放在public class UserServiceImpl implements UserService的红线处,点击implement methods,全部选中,则创建好了所有的方法
    // 简单的分页查询
    @Override
    public PageInfo<User> findAllSimplePage(int page, int size) {
        // 利用PageHelper插件做分页查询.page是从1开始
        PageHelper.startPage(page,size);
        List<User> users = userMapper.findAll();
        PageInfo<User> pageInfo = new PageInfo<>(users);
        return pageInfo;
    }
}

6、controller中创建控制器,如:UserController。

package com.example.demo.controller;

import com.alibaba.fastjson.JSONObject;
import com.example.demo.domain.User;
import com.example.demo.service.UserService;
import com.github.pagehelper.PageInfo;
import netscape.javascript.JSObject;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.*;

@Controller  // ①返回JSON或XML数据;②页面模板
@RequestMapping("/user")  // 这个类的路径,定义为/user
public class UserController {
    @Resource(name = "UserService")
    private UserService csi;

    @RequestMapping("findAllSimplePage")
    @ResponseBody
    // @RequestBody(required=false) 表示map对象可以不传入
    // @RequestBody(required = false) Map<String,Object> 客户端的可以不传入这段参数,也可以正常的运行
    public String findAllSimplePage(@RequestParam(value = "page", defaultValue = "3") Integer page,
                                    @RequestParam(value = "size", defaultValue = "5") Integer size){
        Map<String, Object> requestMap  = new HashMap<String, Object>();
        requestMap .put("page", page);
        requestMap .put("size", size);

        if (requestMap != null){
            if (requestMap.get("page").toString() != null){
                page = Integer.parseInt(requestMap.get("page").toString());  // Integer.parseInt是Integer类中提供的一个静态方法,用于将传入的string类型字符串根据要求转为相应进制的int值, 如果没有要求进制则按10进制计算
                page = page-1; // 为了使页面从第一页开始查询
            }
            if (requestMap.get("size").toString() != null){
                size = Integer.parseInt(requestMap.get("size").toString());
            }
        }

        PageInfo<User> pageInfo = csi.findAllSimplePage(page,size);
        List<User> users = pageInfo.getList();   // 等待dump
        long total = pageInfo.getTotal();        // 一共多少条数据
        JSONObject result = new JSONObject();    // JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包,将实体对象转换成Json字符串。
        result.put("rows",users);                // rows表示每一条数据的详细记录
        result.put("total",(int)total);          // 一共多少条数据
        return result.toJSONString();  // toJSONString()默认忽略值为null的属性,本返回值中并未返回page和size分页的结果,而是将所有的数据一把抓地传送到前端,具体的分页效果还是根据前端设置。
    }

}

效果展示:
在这里插入图片描述

相关链接:
IntelliJ IDEA中构建Spring Boot的项目
Spring Boot中的配置文件(application.properties、application.yml与pom.xml)
ORM、JPA、Spring Data JPA和常用的五种访问数据库方式

SpringBoot–页面显示列表功能
SpringBoot–列表添加详情功能
SpringBoot–列表添加新增功能
SpringBoot–列表更新功能
SpringBoot–列表删除功能

SpringBoot的控制层注解(@Controller与@RestController)
SpringBoot的业务层注解(@Resource、@Autowired与@Qualifier)
SpringBoot的映射(@RequestMapping、@GetMapping与@PostMapping)
SpringBoot的函数参数(JavaBean对象、@RequestParam与@RequestBody)
SpringBoot的返回数据(@ResponseBody、返回templates下的网页 与 返回公共网页)

利用postman完成JSON串的发送功能(springboot)
利用postman完成数据的分页查询功能(springboot)
利用postman完成向数据库中添加数据的功能(springboot)

Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
Preparing: insert into user(uuid,username,gender,age,phone,address) values(?,?,?,?,?,?,?)
Could not autowire. No beans of ‘UserMapper‘ type found.
Error starting ApplicationContext. To display the conditions report re-run your application with
Loading class com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is com.mysql.cj.jdb
Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found
Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
This application has no explicit mapping for /error, so you are seeing this as a fallback.
BootStrap-SpringBoot的使用过程中前端table表格无法加载出数据。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Spring Boot显示日历,您可以使用FullCalendar库。FullCalendar是一个用于呈现日历和日程的JavaScript库,它可以轻松地与Spring Boot集成。 以下是一些步骤,帮助您在Spring Boot应用程序中显示日历: 1. 在您的Spring Boot项目中添加FullCalendar库的依赖项。您可以使用Maven或Gradle构建工具添加以下依赖项: Maven: ``` <dependency> <groupId>org.webjars</groupId> <artifactId>fullcalendar</artifactId> <version>4.3.1</version> </dependency> ``` Gradle: ``` implementation 'org.webjars:fullcalendar:4.3.1' ``` 2. 在您的HTML页面中添加FullCalendar的引用。您可以将以下代码添加到您的html文件中: ``` <link rel="stylesheet" href="/webjars/fullcalendar/4.3.1/main.css" /> <script src="/webjars/fullcalendar/4.3.1/main.js"></script> <div id="calendar"></div> <script> document.addEventListener('DOMContentLoaded', function() { var calendarEl = document.getElementById('calendar'); var calendar = new FullCalendar.Calendar(calendarEl, { initialView: 'dayGridMonth' }); calendar.render(); }); </script> ``` 3. 为了显示活动,您需要将活动数据传递到FullCalendar中。您可以使用JavaScript来定义活动,或者您可以从后端获取活动数据。在这里,我们将展示如何从后端获取活动数据。 在您的Spring Boot应用程序中,您可以创建一个RESTful API,该API将返回日历活动数据。例如: ``` @GetMapping("/events") public List<Event> getEvents() { return eventService.getEvents(); } ``` 4. 最后,您需要使用Ajax从前端获取活动数据,并将其传递给FullCalendar。您可以使用以下代码来实现此操作: ``` document.addEventListener('DOMContentLoaded', function() { var calendarEl = document.getElementById('calendar'); var calendar = new FullCalendar.Calendar(calendarEl, { initialView: 'dayGridMonth', events: { url: '/events', method: 'GET', failure: function() { alert('There was an error while fetching events!'); }, }, }); calendar.render(); }); ``` 这样,您就可以在Spring Boot应用程序中显示日历了。您可以根据需要自定义日历的外观和功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郁慕斯-ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值