当前位置: 首页 > 知识库问答 >
问题:

springboot+Thymeleaf+SQL,从数据库中显示HTML表

融焕
2023-03-14

我想创建网站。我已经配置了登录“/login”和注册“/registration”页面。这个网站的主要任务是显示每个学生的时间表。现在我需要在页面“/Schedule”上显示科目列表,使用HTML-table,根据学生注册时选择的字段组和课程。我有14个不同的表格和科目列表(一个表格-一组学生)。

  1. 是否需要为每个表创建@Entity类和存储库?
  2. 如何使用注册数据显示学生信息?

页面“/计划”的控制器:

@Controller
public class ShedulePageController {
    @GetMapping("/schedule")
    public String schedulePage() {
        return "SchedulePage";
    }
}

包含主题列表的14个表中的1个的实体:

@Entity
@Table(name = "f_fit_c2g1")
public class f_fit_c2g1 {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id_f_fit_c2g1;

    @Column(length = 60)
    private String monday;

    @Column(length = 60)
    private String tuesday;

    @Column(length = 60)
    private String wednesday;

    @Column(length = 60)
    private String thursday;

    @Column(length = 60)
    private String friday;

    @Column(length = 60)
    private String monday2;

    @Column(length = 60)
    private String tuesday2;

    @Column(length = 60)
    private String wednesday2;

    @Column(length = 60)
    private String thursday2;

    @Column(length = 60)
    private String friday2;

    public String getMonday2() {
        return monday2;
    }

    public void setMonday2(String monday2) {
        this.monday2 = monday2;
    }

    public String getTuesday2() {
        return tuesday2;
    }

    public void setTuesday2(String tuesday2) {
        this.tuesday2 = tuesday2;
    }

    public String getWednesday2() {
        return wednesday2;
    }

    public void setWednesday2(String wednesday2) {
        this.wednesday2 = wednesday2;
    }

    public String getThursday2() {
        return thursday2;
    }

    public void setThursday2(String thursday2) {
        this.thursday2 = thursday2;
    }

    public String getFriday2() {
        return friday2;
    }

    public void setFriday2(String friday2) {
        this.friday2 = friday2;
    }

    public Long getId_c2g9() {
        return id_f_fit_c2g1;
    }

    public void setId_c2g9(Long id_f_fit_c2g1) {
        this.id_f_fit_c2g1 = id_f_fit_c2g1;
    }

    public String getMonday() {
        return monday;
    }

    public void setMonday(String monday) {
        this.monday = monday;
    }

    public String getTuesday() {
        return tuesday;
    }

    public void setTuesday(String tuesday) {
        this.tuesday = tuesday;
    }

    public String getWednesday() {
        return wednesday;
    }

    public void setWednesday(String wednesday) {
        this.wednesday = wednesday;
    }

    public String getThursday() {
        return thursday;
    }

    public void setThursday(String thursday) {
        this.thursday = thursday;
    }

    public String getFriday() {
        return friday;
    }

    public void setFriday(String friday) {
        this.friday = friday;
    }
}

每个带有主题表都有这样的名称--“f_fit_c#g#”,其中#-number。

Rerository:

import org.springframework.data.jpa.repository.JpaRepository;

public interface f_fit_c2g1Repository extends JpaRepository<f_fit_c2g1, Long> {
}

“/schedule”页面的我的HTML文件(带有随机静态数据):

<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
    <title>Table 07</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" type="text/css" th:href="@{/css/style.css}" />
</head>

<body>
<header>
    <div class="small" id="header-scroll">
        <h1><a href="#" style="padding-left: 20px">KNUTE</a></h1>
        <nav>
            <ul>
                <li><a href="#">Расписание</a></li>
                <li><a href="#">Домашнее задание</a></li>
                <li><a href="#">Профиль</a></li>
                <li><a href="#">Полезные ссылки</a></li>
            </ul>
        </nav>
    </div>
</header>

<section class="ftco-section">
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-6 text-center mb-5">
                <h2 class="heading-section">Расписание на первую неделю</h2>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                    <table class="table table-bordered table-dark table-hover">
                        <thead>
                        <tr style="text-align: center; width: 20px">
                            <th>#</th>
                            <th>Время</th>
                            <th>Понедельник</th>
                            <th>Вторник</th>
                            <th>Среда</th>
                            <th>Четверг</th>
                            <th>Пятница</th>
                        </tr>
                        </thead>
                        <tbody>
                        <tr>
                            <th scope="row">1</th>
                            <td>8:20 - 9:40</td>
                            <td>Otto</td>
                            <td>markotto@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">2</th>
                            <td>10:05 - 11:25</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">3</th>
                            <td>12:05 - 13:25</td>
                            <td>the Bird</td>
                            <td>larrybird@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">4</th>
                            <td>13:50 - 15:10</td>
                            <td>Doe</td>
                            <td>johndoe@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">5</th>
                            <td>15:25 - 16:45</td>
                            <td>Bird</td>
                            <td>garybird@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">6</th>
                            <td>17:00 - 18:20</td>
                            <td>Otto</td>
                            <td>markotto@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        <tr>
                            <th scope="row">7</th>
                            <td>18:45 - 20:05</td>
                            <td>Otto</td>
                            <td>markotto@email.com</td>
                            <td>Thornton</td>
                            <td>jacobthornton@email.com</td>
                            <td>Thornton</td>
                        </tr>
                        </tbody>
                    </table>
                </div>
            </div>
        <div class="row justify-content-center">
            <div class="col-md-6 text-center mb-5">
                <h2 class="heading-section" style="padding-top: 65px">Расписание на вторую неделю</h2>
            </div>
        </div>
        <div class="row">
            <div class="col-md-12">
                <table class="table table-bordered table-dark table-hover">
                    <thead>
                    <tr style="text-align: center; width: 20px">
                        <th>#</th>
                        <th>Время</th>
                        <th>Понедельник</th>
                        <th>Вторник</th>
                        <th>Среда</th>
                        <th>Четверг</th>
                        <th>Пятница</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <th scope="row">1</th>
                        <td>8:20 - 9:40</td>
                        <td>Otto</td>
                        <td>markotto@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">2</th>
                        <td>10:05 - 11:25</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">3</th>
                        <td>12:05 - 13:25</td>
                        <td>the Bird</td>
                        <td>larrybird@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">4</th>
                        <td>13:50 - 15:10</td>
                        <td>Doe</td>
                        <td>johndoe@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">5</th>
                        <td>15:25 - 16:45</td>
                        <td>Bird</td>
                        <td>garybird@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">6</th>
                        <td>17:00 - 18:20</td>
                        <td>Otto</td>
                        <td>markotto@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    <tr>
                        <th scope="row">7</th>
                        <td>18:45 - 20:05</td>
                        <td>Otto</td>
                        <td>markotto@email.com</td>
                        <td>Thornton</td>
                        <td>jacobthornton@email.com</td>
                        <td>Thornton</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</section>

</body>
</html>

我找到了很多类似主题的信息,但是找不到关于使用多个表的信息。

共有1个答案

夏知
2023-03-14

要快速回答您的问题,

1.我需要为每个表创建@Entity类和存储库吗?
是的,您需要为DB中的每个表创建实体和存储库。

2.如何利用注册后的数据为学生展示信息?
您需要从存储学生详细信息的表中获取信息,构建一个包含时间表详细信息和所有信息的DTO(数据传输对象)并将其发送到Thymeleaf。

我认为您将不得不重新设计您的数据库本身。这个设计感觉有点奇怪。

 类似资料:
  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 10个月前关闭。 好的,我在phpmyadmin(sql)上有一个数据库,我想将我的一个表显示为HTML / PHP上的表。我已经在网上搜索过,无法实现此功能,所以我想知道是否有人可以帮助我进行编码? 没有密码 我想显示表名中的数据 问题答案: 您说您在PhpMyAd

  • 我希望从数据库中获取所有表,并将每个表显示到一个表中。我没有运气能这么做。 下面是我的代码用来将表名存储到一个数组中的方法(这是可行的),但似乎不能在我的SQL查询中使用它来显示表。

  • 这个应用程序应该从网页上获取关于冠状病毒的信息,并将其输出到我们自己的网页上的一个漂亮的表格中。 所有表头都在,但列本身为空。 Tymeleaf在模型中不显示传递给它的数据,尽管数据在控制器中正确传递。我会很感激你的任何意见,谢谢。

  • 问题内容: 我正在使用jdbc编写程序,该程序将成为数据库的接口(类似于CRUD应用程序)。我假设我必须编写一个类(例如),该类将对数据库执行所有操作(以及可能会简化为这些操作的某些其他逻辑)。用户界面由一组表和一些按钮组成。要使用Jtable,我需要实现一个类(例如),它是AbstractTableModel的子类。因此,此类将向用户显示我的数据。我需要为数据库架构中的所有表实现这种模型。我不想

  • 这是我的数据库代码,我想从我的数据库中检索名称,并将其显示在listview中,在下面发布的另一个java文件中显示为profilelist.jar。但是我不能这样做,请告诉我这段代码是否正确? profileList.java 我在a.vaccination.datahandler.getTitle(datahandler.java:115)和a.vaccination.profilelist.

  • 问题内容: 好吧,所以我对PHP和SQL / MySQL还是相当陌生,因此感谢您的帮助。 我觉得我采取了正确的方法。我在php.net上搜索了“ MySQL显示所有表名”,它返回了不建议使用的方法,并建议使用MySQL查询,但不确定“模式”是什么意思,但是我搜索了“ SQL通配符”并得到了“% ”符号。根据我发现的所有内容,这应该可以工作并在末尾输出表名,但事实并非如此。有什么建议么?提前致谢。