idea利用spring框架整合thymeleaf展现数据库数据

idea初步利用thymeleaf展现列表
上一篇文章简单展现自己写的列表;
这篇文章连接mysql数据库实现数据库数据展现
主要三个文件
controller指定html界面

package com.example.appledemo.controller;

import com.example.appledemo.mapper.UserMapper;
import com.example.appledemo.pojo.User;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.Model;

import java.util.ArrayList;
import java.util.List;

@Controller
public class TestController {
    @Resource
    UserMapper userMapper;

    @RequestMapping("/login")
    public String login(Model model){
        List<User> user = userMapper.findAll();
        model.addAttribute("user",user);
        return "login";
    }
}

mapper写数据库sql查询语句

package com.example.appledemo.mapper;

import com.example.appledemo.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user")
    List<User> findAll();
}


pojo中的user写具体数据库中的表包含哪些字段(这部分最好的方式写出变量名字然后alt+insert自动生成getter和setter不容易出错)

package com.example.appledemo.pojo;

import lombok.Getter;

@Getter
public class User {
    private Integer userId;
    private String userName;
    private String userPass;

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setUserPass(String userPass) {
        this.userPass = userPass;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", userPass='" + userPass + '\'' +
                '}';
    }
}

最后写个login.html展现数据

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>springboot-thymeleaf demo</title>
</head>
<body>
<table border="1" width="1000">
    <tr th:each="item,eee: ${user}">
        <td th:text="${item.userId}"></td>
        <td th:text="${item.userName}"></td>
        <td th:text="${item.userPass}"></td>
    </tr>
</table>
</body>
</html>
</html>

给出文件列表:
在这里插入图片描述
最后给出运行结果:
在这里插入图片描述

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

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

相关文章

“名创优品小动物保护公益基金”项目成立,捐赠1000万助力美好生活

近日&#xff0c;名创优品宣布捐赠1000万元成立“名创优品小动物保护公益基金”项目&#xff0c;将通过专业、关爱、共生的公益理念和行动&#xff0c;助力构建良好的社区生态和美好生活方式&#xff0c;与年轻一代探索中国公益创新发展。 名创优品捐赠1000万元成立“名创优品小…

操作系统概论:揭秘计算机背后的神秘力量

操作系统概论 & 功能 概述定义操作系统功能作为系统资源的管理者向上层提供方便易用的服务作为最接近硬件的层次 主页传送门&#xff1a;&#x1f4c0; 传送 概述 概念&#xff1a; 定义 控制和管理计算机硬件和软件资源的程序一种系统软件为上层用户、应用程序提供简单易…

钉钉员工组织资料实时同步至飞书的应用解析

如何实现应用之间的同步&#xff1f; 随着企业应用的日益增多&#xff0c;在帮助企业提供办公效率的同时&#xff0c;也增加了对这些应用的运维成本。有没有一种好的办法&#xff0c;实现saas应用之间的桥梁搭建&#xff0c;自动化地完成不同应用之间的数据流转呢&#xff1f;…

C语言枚举详解,typedef简介(能看懂文字就能明白系列)

系列文章目录 C语言基础专栏 笔记详解 &#x1f31f; 个人主页&#xff1a;古德猫宁- &#x1f308; 信念如阳光&#xff0c;照亮前行的每一步 文章目录 系列文章目录&#x1f308; *信念如阳光&#xff0c;照亮前行的每一步* 前言一、枚举类型的声明枚举常量三、枚举类型的优…

智能指针及强相关知识经验总结 --- 移动语义、引用计数、循环引用、move()、自定义删除器等

目录 前言 一、shared_ptr 1. 基本用法和构造方法 2. 引用计数机制 3. weak_ptr 解决循环引用 二、unique_ptr 1. 基本用法和构造方法 2. 独占性 3. 所有权转移 1&#xff09;unique_ptr :: release() 2&#xff09;移动语义 和 move() 三、 对比 shared_ptr 和 un…

Dropwizard-metric的使用

背景 近期在开发中用到了dropwizard-metric作为监控metric的埋点框架&#xff0c;由于是分布式的系统&#xff0c;前期曾经对比过hadoop-metric的实现和dropwizard-metric的实现&#xff0c;因为开发的项目后续会和hadoop的项目有一定的上下游关系&#xff0c;所以考虑排除掉h…

Re 花指令学习

概念 花指令又名垃圾代码、脏字节&#xff0c;英文名是junk code。花指令就是在不影响程序运行的情况下&#xff0c;往真实代码中插入一些垃圾代码&#xff0c;从而影响反汇编器的正常运行&#xff1b;或是起到干扰逆向分析人员的静态分析&#xff0c;增加分析难度和分析时间。…

开发的客户收到样品表示质量不如原供应商如何应对

有小伙伴问&#xff0c;在开发客户的过程当中&#xff0c;给客户寄了样品&#xff0c;客户说他的样品没有原来供应商的好怎么办&#xff1f; 这个问题我们来想一下&#xff0c;客户既然愿意把地址给我们&#xff0c;愿意去接你的样品&#xff0c;说明什么&#xff1f;说明客户…

系列十五、SpringBoot的启动原理分析

一、概述 所谓SpringBoot的启动原理&#xff0c;翻译成大白话就是"当我们在主启动类上运行run方法时&#xff0c;SpringBoot底层到底做了什么事情&#xff0c;能够帮助我们启动一个Spring的web应用"&#xff0c;上边用大白话解释了一下什么是SpringBoot的启动原理&am…

PyQt6 QTabWidget选项卡控件

​锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计37条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话…

0001微信报Dynamic.dll,微信报DynamicDll64.dll 环境

0001微信报Dynamic.dll&#xff0c;微信报DynamicDll64.dll 1. 环境 操作系统&#xff1a;Windows10专业版 2. 现象 某赛通加密客户端升级后&#xff0c;企业微信和微信报如下错误 分析 该加密软件升级导致的异常 3. 解决办法 企业微信&#xff1a;粘贴DynamicDll.dll到…

ULAM公链第九十六期工作总结

迈入12月&#xff0c;接下来就是雪花&#xff0c;圣诞&#xff0c;新年和更好的我们&#xff01;愿生活不拥挤&#xff0c;笑容不必刻意&#xff0c;愿一切美好如期而至&#xff01; 2023年11月01日—2023年12月01日关于ULAM这期工作汇报&#xff0c;我们通过技术板块&#xff…

MISRA C 2012 标准浅析

MISRA(The Motor Industry Software Reliability Association)&#xff0c;汽车工业软件可靠性联会&#xff1b; 1994年&#xff0c;英国成立。致力于协助汽车厂商开发安全可靠的软件的跨国协会&#xff0c;其成员包括&#xff1a;AB汽车电子、罗孚汽车、宾利汽车、福特汽车、捷…

堆排序详细讲解(一文足矣JAVA)

目录 1、什么是堆 2、大顶堆 3、小顶堆 4、排序思想&#xff1a; 5、代码实现 1、什么是堆 在计算机科学中&#xff0c;堆&#xff08;Heap&#xff09;是一种特殊的数据结构&#xff0c;通常是一个可以被看作近似完全二叉树的数组对象。在堆中&#xff0c;父节点的值总是…

四通道轨-轨运算芯片 D8054,外围应用简便,低功耗2.3mA (典型值)运放供电电流

D8054是一款四通道轨-轨运算放大器&#xff0c;外围应用简便&#xff0c;价格低廉。封装形式为SOP14&#xff0c;TSSOP14&#xff0c; SOP16&#xff0c; TSSOP16。 主要特点&#xff1a; ● 轨-轨输出&#xff0c;输出失调2mV (典型值) ● 高速250MHz&#xff0c;-3dB带…

网络细节核心笔记

来源&#xff0c;做个笔记&#xff0c;讲的还蛮清楚通信原理-2.5 数据封装与传输05_哔哩哔哩_bilibili 交换机

java人工智能交互医院智慧导诊系统源码

随着人工智能技术的快速发展&#xff0c;语音识别与自然语言理解技术的成熟应用&#xff0c;基于人工智能的智能导诊导医逐渐出现在患者的生活视角中&#xff0c;智能导诊系统应用到医院就医场景中&#xff0c;为患者提供导诊、信息查询等服务&#xff0c;符合智慧医院建设的需…

python代码样式规范

https://peps.python.org/pep-0008/

微软 Power Platform 零基础 Power Pages 网页搭建实际案例实践(三)

微软 Power Platform 零基础 Power Pages 网页搭建教程之案例实践学习&#xff08;三&#xff09;结合Power Apps和Power Automate Power Pages 实际案例学习 微软 Power Platform 零基础 Power Pages 网页搭建教程之案例实践学习&#xff08;三&#xff09;结合Power Apps和Po…

「Verilog学习笔记」时钟分频(偶数)

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule even_div(input wire rst ,input wire clk_in,output wire clk_out2,output wire clk_out4,output wire clk_out8); //********…