Java使用Springboot+Mybatis构建第一个项目

news2024/10/1 1:21:45

一、java安装:

安装 Java1.8+环境
maven3.6.1+环境
Gradle-6.9.1+环境
IntelliJ IDEA 2022.1.3 下载旗舰版(因为包含springboot)

二、项目构建-数据库是sqlserver

1、打开idea,点击File->New->Project,选中Spring Initializr

2、创建相关Package

在com.example.demo 下新建controller、entity、mapper、server;

在resources下新建 mapper

3、新建一个UserInfoModel和PageModel

4、新建一个UserInfoMapper类

5、新建一个UserInfoServerImpl和实现的接口UserInfoServer,自动注入UserInfoMapper

6、新建一个分页的类

7、新建一个controller

8、新建一个mapper.xml

9、启动程序里面增加如下:

10、pom.xml相关依赖如下:

11、application.properties 配置文件配置:

12、新建一个index.html 和 index.js

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>表单</title>
</head>
<script th:src="@{/webjars/jquery/3.4.1/jquery.min.js}"></script>
<script type="text/javascript" th:src="@{/static/index.js}"></script>
<body>
<div align="center">
    <form action="#" th:action="@{/api/UserInfoList}" method="post">
        <label for="name">订单号:</label>
        <!--/*@thymesVar id="name" type=""*/-->
        <input id="name" name="name" th:value="${name}">
        <button id="search-btn" name="search-btn">搜索</button>
    </form>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!--    <a th:href="@{/add}">添加联系人</a>-->
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <a th:href="@{/api/UserInfoList}">刷新全部数据</a>
    <table width="100%" border="1">

        <tr align="center">
            <td width="10%">ID</td>
            <td width="10%">用户名称</td>
            <td width="10%">年龄</td>
            <td width="10%">住址</td>
            <td width="10%">性别</td>
            <td width="10%">创建时间</td>
        </tr>
        <!--/*@thymesVar id="pages" type="com.github.pagehelper.PageInfo"*/-->
        <!--/*@thymesVar id="list" type="com.example.demo.entity.UserInfoModel"*/-->
        <tr align="center" th:each="list: ${pages.list}">
            <td th:text="${list.id}"></td>
            <td th:text="${list.userName}"></td>
            <td th:text="${list.age}"></td>
            <td th:text="${list.address}"></td>
            <td th:text="${list.sex}"></td>
            <td th:text="${list.createDate}"></td>
        </tr>
    </table>
</div>
<div align="right" style="margin-top: 30px;font-size: 16px;">
    <if th:unless="${pages.getTotal()}<=0">
        <a th:text="共+${pages.getTotal()}+条"></a>
        <a th:text="每页+${pages.getSize()}+'/'+${pages.getPages()}+条"></a>
        <a th:unless="${pages.isFirstPage}" th:href="@{/api/UserInfoList(name=${name})}">首 页</a>
        <a th:unless="${!pages.isFirstPage}">首 页</a>
        <a th:unless="${pages.isFirstPage}" th:href="@{/api/UserInfoList(start=${pages.hasPreviousPage}?${pages.prePage}:1, name=${name})}">上一页</a>
        <a th:text="${pages.getPageNum()}"></a>
        <a th:unless="${pages.isLastPage}" th:href="@{/api/UserInfoList(start=${pages.hasNextPage}?${pages.nextPage}:${pages.pages}, name=${name})}">下一页</a>
        <a th:unless="${pages.isLastPage}" th:href="@{/api/UserInfoList(start=${pages.pages}, name=${name})}">尾 页</a>
        <a th:unless="${!pages.isLastPage}">尾 页</a>
    </if>
    <!--/*@thymesVar id="pages" type="com.github.pagehelper.PageInfo"*/-->
    <!--/*@thymesVar id="name" type=""*/-->
    <!--th:unless="${pages.isFirstPage}" 判断如果是第一页,则显示-->
    <!--th:unless="${pages.isLastPage}" 判断如果是最后一页,则显示-->

</div>

<script type="text/javascript">

</script>
</body>
</html>
$(function () {
    var search = $("#search-btn");
    search.click(function () {
        var name = $("#name");
        if (name.val() === null || name.val() === '') {
            alert("请输入~");
            return;
        }
        search.submit();
    })
});

12、最后一步,如果pom.xml中添加了依赖,则需要用maven去加载依赖,点击刷新按钮,如下图:

12、启动成功

效果图:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试题,用 Java 解【英文输入法】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

输入两个数,可以进行加减乘除的操作。

完整代码如下所示&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wi…

博客系统 -- 静态页面

文章目录1. 前言2. 页面展示3. 实现3.1 博客列表页3.2 博客详情页3.3 登录页面3.4 博客编辑页4. 整体代码1. 前言 到此 我们对 HTML &#xff0c; CSS &#xff0c; JavaScript 已经有了个简单的了解 &#xff0c; 但是还不太熟悉 &#xff0c;下面就通过 写一个博客系统的 网站…

易优cms load 加载资源文件标签使用方法

【基础用法】 标签&#xff1a;load 描述&#xff1a;资源文件加载&#xff0c;比如&#xff1a;css/js 用法&#xff1a; {eyou:load href/static/js/common.js veron /} 属性&#xff1a; file 资源文件路径 href 远程资源文件URL ver 开启版本号自动刷新浏览器缓存 …

知著见微——读《战略与路径》

前几天刚读完《战略与路径&#xff1a;黄奇帆的十二堂经济课》&#xff0c;这本书是根据2020-2021年期间黄奇帆先生在复旦大学讲的12堂课编辑成书。放在前几年我是基本不怎么看这种讲宏观经济类的书&#xff0c;但近几年宏观的变化正以前所未有的方式展开&#xff0c;切切实实影…

让AI帮你工作(2)-如何阅读pdf论文

这个系列快结束了&#xff0c;后面会有一到两篇文章介绍&#xff0c;如何用AI实实在在的应用在工业生产研发&#xff0c;如何指导化工分子合成&#xff0c;如何做DNA的研究预测&#xff0c;合成。背景最近chatpdf在各媒体传的风风火火&#xff0c;从效果上是很震撼的。原因大概…

Linux内核Thermal框架详解一、总述

本文部分内容参考万字长文 | Thermal框架源码剖析&#xff0c;特此致谢&#xff01; Linux Thermal Framework是Linux系统下温度控制相关的一套架构&#xff0c;主要用来解决随着设备性能不断增强而引起的日益严重的发热问题&#xff0c;控制系统运行过程中各个器件所产生的热量…

【web前端开发】CSS最常用的11种选择器

文章目录1.CSS介绍2.CSS的语言规则3.CSS的引入方式4.选择器标签选择器类选择器id选择器通配符选择器复合选择器后代选择器子代选择器并集选择器交集选择器伪类选择器hover伪类选择器active伪类选择器结构伪类选择器结语1.CSS介绍 CSS (Cascading Style Sheets&#xff0c;层叠样…

分布式架构-流量治理-服务容错

系列目录 分布式架构-流量治理-服务容错 分布式架构-流量治理-流量控制 引子 容错性设计(Design for Failure)是微服务的一个核心原则。随着拆分出的服务越来越多&#xff0c;随之而来会面临以下两个问题的困扰&#xff1a; 由于某一个服务的崩溃&#xff0c;导致所有用到这个服…

MyBatis的基本使用

MyBatis 为啥MyBatis会使用xml 在一个程序中&#xff0c;若需要操作数据表&#xff0c;那么 SQL 语句有两种存放方式&#xff1a;1. 放到 Java 类里面&#xff08;这个就存在大量的字符串拼接&#xff0c;还有占位符需要处理-----JDBC&#xff09;&#xff1b;2&#xff1a;放…

TypeScript深度剖析: TypeScript 装饰器的理解?应用场景?

面试官&#xff1a;说说你对 TypeScript 装饰器的理解&#xff1f;应用场景&#xff1f; 一、是什么 装饰器是一种特殊类型的声明&#xff0c;它能够被附加到类声明&#xff0c;方法&#xff0c; 访问符&#xff0c;属性或参数上 是一种在不改变原类和使用继承的情况下&#…

程序员中的女性力量——做不被定义的自己

她是office lady&#xff0c;亦是程序媛&#xff0c;程序员界的靓丽色彩&#xff0c;不可或缺。 “只有那些疯狂到以为自己能够改变世界的人——才能真正改变世界。” 女性该如何定义自己&#xff1f;程序媛怎么发挥自己最大的价值。 争取自己做选择&#xff0c;经济和思想都独…

Spring基础与创建

目录 前言 Spring基础与核心概念 Spring是什么 1、什么是容器 2、什么是IoC 3、理解SpringIoC 4、DI&#xff08;依赖注入&#xff09; Spring的创建和使用 1、创建Spring项目 1.1、创建一个普通Maven项目 1.2、添加Spring框架支持 1.3、添加启动类和main方法 2、…

【c++】:STL模板中string的使用

文章目录 STL简介一.认识string二.string中基本功能的使用总结STL简介 STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&#xff0c;而且是一个包罗数据结构与算法的软件框架。STL的版本 原始版本 Alexand…

15_MySQL存储过程与存储函数

MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起&#xff0c;应用程序无须关注存储过程和函数内部复杂的SQL逻辑&#xff0c;而只需要简单地调用存储过程和函数即可。1. 存储过程概述1.1 理解含义&#xff1a;存储过程的英文是 Stored Pro…

JDK8新特性宝典

JDK8新特性 ​ Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 了解Java发展史Lambda表达式…

[深入理解SSD系列 闪存2.1.5] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现

前言 上面是我使用的NAND FLASH的硬件原理图,面对这些引脚,很难明白他们是什么含义, 下面先来个热身: 问1. 原理图上NAND FLASH只有数据线,怎么传输地址? 答1.在DATA0~DATA7上既传输数据,又传输地址 当ALE为高电平时传输的是地址, 问2. 从NAND FLASH芯片手册可知,要…

Apache DolphinScheduler GitHub Star 突破 10000!

点击蓝字 关注我们今天&#xff0c;Apache DolphinScheduler GitHub Star 突破 10000&#xff0c;项目迎来一个重要里程碑。这表明 Apache DolphinScheduler 已经在全球的开发者和用户中获得了广泛的认可和使用。DolphinScheduler 旨在解决公司日常运营中的大数据处理工作流调度…

Redis之持久化操作

目录 一、简介 二、RDB 1、自动触发 2、手动触发 3、RDB 的优点和缺点 三、AOF 1、AOF的工作流程 2、AOF的配置 3、AOF的优点和缺点 4、俩种持久化的方式如何选择&#xff1f; 一、简介 1、什么是持久化&#xff1f; 持久化是指将内存中的数据同步到磁盘中&#xf…

策略模式详解

文章目录策略模式&#xff08;行为模式&#xff09;1. 策略模式介绍2. 好处3. 场景案例4. 案例源码1. 代码结构2. 榜单服务接收消息入口3. 基础任务类4. 定义策略模式转发的规范5. 代理的第一层6. 代理的第二层抽象父类&#xff1a;定义视频聊榜单代理规范7. 代理的第二层实现子…