使用idea快速创建springbootWeb项目(springboot+springWeb+mybatis-Plus)

news2024/12/24 2:29:59

idea快速创建springbootWeb项目

详细步骤如下

1)创建项目

2)选择springboot版本

3)添加web依赖

4)添加Thymeleaf

5)添加lombok依赖

然后点击create进入下一步

双击pom.xml文件

6)添加mybatis-plus依赖        

这里使用的springboot版本比较新,mybatis-plus-boot-starter 不兼容 ,需要一下导入一下依赖

<!--导入mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.7</version>
    <exclusions>
        <exclusion>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>3.0.3</version>
</dependency>

依赖导入成功

7)导入mysql驱动

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.33</version>
</dependency>

8)配置application.yml文件

把applicaiton.propitious删除创建application.yml

spring:
  application:
    name: xiji

  datasource:
    url: jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root #数据库登录名
    password: root #数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:mapper/*.xml

9)在mysql中 ==》 创建数据库users==》创建表user

CREATE TABLE `user` (
  `userid` int NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `username` varchar(255) DEFAULT NULL COMMENT '用户名字',
  `userPassword` varchar(255) DEFAULT NULL COMMENT '用户密码',
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

创建完毕之后如下

10)创建包

1.创建controller包

依次创建如下包结构

2.controller包下的代码如下

package com.xiji.springbootweb.controller;

import com.xiji.springbootweb.entiy.User;

import com.xiji.springbootweb.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.Banner;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Controller
public class UserController {
    @Resource
    UserService userService;

    @GetMapping("/")
    public String index(){
        return "index";
    }
    @GetMapping("/list")
    public  String list(Model model){
        List<User> list = userService.list();
        model.addAttribute("list", list);
        return "model";
    }
}
@Controller注解用来标注controller层
@Resource用来注入容器中的组件
@Autowired 这个也可以用来注入组件

3.entiy包下的代码如下

package com.xiji.springbootweb.entiy;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
    @TableField("userid")
    private int userid;
    @TableField("username")
    private String username;
    @TableField("userPassword")
    private String userPassword;
}
@Data用来生成get,set方法
@NoArgsConstructor用来生成无参构造方法
@AllArgsContructor用来生成全参构造
@TableName() 数据库表名
@TableField() 数据表列名

4.mapper包下的代码如下

package com.xiji.springbootweb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiji.springbootweb.entiy.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}
@mapper用来标注持久层

UserMapper 继承 BaseMapper<实体> 原因里面有很多已经实现的方法

5.service包下impl包的代码如下

package com.xiji.springbootweb.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiji.springbootweb.entiy.User;
import com.xiji.springbootweb.mapper.UserMapper;
import com.xiji.springbootweb.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}
@service用来表组service层的
UserServiceImpl 继承Service<Mapper,实体> 实现 UserService 原因里面有很多已经实现的方法

6.service包下的代码

package com.xiji.springbootweb.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xiji.springbootweb.entiy.User;

public interface UserService extends IService<User> {
}
UserService继承 IService 接口

7.resource下mapper代码如下 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<mapper namespace="com.xiji.springbootweb.mapper.UserMapper">

</mapper>

8.resource下templates代码如下 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body >
    <div class="bgStyle">
        <h1>这是主页</h1>
    </div>
</body>
</html>

9.resource下model页的代码

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        <h1 > 这是list页面</h1>
        <h1 th:text="${list}"></h1>
    </div>
</body>
</html>

11)点击启动

12)访问localhost:8080

13)访问localhost:8080/list

需要自己往表中添加数据

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

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

相关文章

Ubuntu搭建FTP服务器

目录 1.ftp简介 2.vsftpd 2.1.介绍 2.2.安装与卸载 2.3.综合案例 - 本地用户模式 2.4.1.创建FTP用户 2.4.2.配置vsftpd 2.4.3.配置防火墙 1.ftp简介 一般来讲&#xff0c;人们将计算机联网的首要目的就是获取资料&#xff0c;而文件传输是一种非常重要的获取资料的方…

盘点 8 月份 火火火 的开源项目

01 Rnote&#xff1a;释放创意&#xff0c;手绘与笔记的开源之选 Rnote是一个基于矢量的开源绘图应用&#xff0c;专为手绘、手写笔记以及文档和图片注释设计。 它适用于学生、教师以及拥有绘图板的用户&#xff0c;提供了 PDF 和图片的导入导出功能&#xff0c;无限画布以及适…

单词拆分[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#x…

【第54课】XSS跨站Cookie盗取表单劫持网络钓鱼溯源分析项目平台框架

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

004、架构_计算节点

架构总览 重要线程 管理线程:主要负责元数据相关的管理,涉及启动、DDL、切换;执行线程:是CN最重要的核心线程组,涉及解析、执行计划、分发、聚合;路由线程:主要负责向DN节点分发语句,涉及读写分离、子语句;GTM代理线程:主要负责与GTM交互、涉及申请、活跃GTID查询、释…

YASKAWA机器人维修操作命令攻略-移动命令运用案例

移动命令 1. MOVJ 命令运用案例&#xff1a; MOVJ VJ50.00 PL2 NWAIT UNTIL IN(1)ON 含义&#xff1a;在这个点以关节坐标&#xff0c;按 50.00%的再现速度&#xff0c;定位精度为 2&#xff0c;同时执行下一条非移动 指令&#xff0c;判断输入信号 1 为 on 后&#xff0c;执行…

助力航运管理数字智能化,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建江面河道运输场景下来往航行船只自动检测识别系统

在全球化浪潮的推动下&#xff0c;物流行业作为连接世界的桥梁&#xff0c;其快速发展与进化不仅重塑了国际贸易的格局&#xff0c;更深刻影响着全球贸易金融的进程。其中&#xff0c;海运作为大宗商品跨国、全球化贸易的支柱性运输方式&#xff0c;其重要性不言而喻。随着各国…

ios去水印软件免费版,精选五大高效工具,告别水印烦恼!

随着社交媒体的普及&#xff0c;越来越多的人喜欢在网络上分享自己的生活点滴。在分享视频时&#xff0c;水印往往会影响美观。为了帮助大家解决这个问题&#xff0c;本文为您推荐五大高效免费的iOS去水印软件&#xff0c;让您轻松告别水印烦恼&#xff01; 软件一&#xff1a…

第137天:横向移动-Linux_ssh工具杂项Linux靶场环境搭建

实验环境及图解&#xff1a; 通过网盘分享的文件&#xff1a;137-Linux内网环境镜像文件 链接: https://pan.baidu.com/s/1W_5DvhbkGYMqML4mi1rjQA?pwdad6r 提取码: ad6r 一般情况下SSH密钥存放在~/.ssh/目录下&#xff0c;也可以文件中搜索已保存的SSH凭证 ~/.ssh/config ~/.…

eclipse下载安装与配置代码补全与中文版

eclipse下载安装与配置中文版 eclipse下载eclipse安装eclipse配置代码补全eclipse配置中文版 eclipse下载 首先我们从官网下载eclipse&#xff0c;点击后是如下页面 我们往下滑&#xff0c;选择自己需要的版本&#xff0c;在这里我们选择的是Windows的Java开发版本&#xff0c…

【自动驾驶】决策规划算法 | 数学基础(二)凸优化与非凸优化

写在前面&#xff1a; &#x1f31f; 欢迎光临 清流君 的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落。&#x1f4dd; 个人主页&#xff1a;清流君_CSDN博客&#xff0c;期待与您一同探索 移动机器人 领域的无限可能。 &#x1f50d; 本文系 清流君 原创之作&…

机器学习||笔记

在学习机器学习之前&#xff0c;应具备以下基础&#xff1a; 编程技能&#xff1a;精通 Python&#xff0c;掌握数据结构、函数、面向对象编程&#xff0c;熟悉 Git 和 Jupyter Notebook。 数学基础&#xff1a; 线性代数&#xff1a;矩阵运算、特征值与特征向量。微积分&…

2009年

一、选择 B C D B A 答案 C 叶子节点可能出现在最下层和次下层 所以最多七层&#xff0c;前六层是满二叉树 C 答案 B A D A B 二、大题

JVM垃圾回收算法以及垃圾收集器

JVM垃圾回收算法 JVM垃圾回收算法分为三类&#xff1a;标记清除算法、标记整理算法、 复制算法 标记清除算法 垃圾回收分为2个阶段,分别是标记和清除,效率高有磁盘碎片,内存不连续 标记整理算法 标记清除算法一样,将存活对象都向内存另一端移动,然后清理边界以外的垃圾,无…

Windows 11系统 Eclipse 2024版本安装教程和环境搭建

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Eclipse 是一个开源的集成开发环境 (IDE)&#xff0c;主要用于 Java 开发&#xff0c;但也支持其他编程语言如 C、Python 和 PHP。它提供了丰富的工具和插件&#xff0c;用于编写、调试和管理代码&#x…

【时时三省】(C语言基础)指针进阶4

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 阅读两段有趣的代码: 代码1: (*(void(*)())0)(); 意思是调用0地址处的函数 该函数无参&#xff0c;返回类型是void 1.void(*)()&#xff0d;函数指针 2.(void(*)())0&#xff0d;对0进…

Python编码系列—Python中的安全密码存储与验证:实战指南

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

基于SSM+JSP的手机商城系统网站

系统背景 系统管理也都将通过计算机进行整体智能化操作&#xff0c;对于网上手机商城所牵扯的管理及数据保存都是非常多的&#xff0c;例如管理员&#xff1b;主页、个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理&#xff0c;用户&#xff1b;主页、个人…

快速了解Git服务器端基础及基本操作命令(一)

&#x1f600;前言 本篇博文是关于Git服务器端的一些基础使用及基本操作命令&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意…

力扣面试150 插入区间 模拟

Problem: 57. 插入区间 &#x1f468;‍&#x1f3eb; 代码随想录 模拟 ⏰ 时间复杂度&#xff1a; O ( n ) O(n) O(n) class Solution {public int[][] insert(int[][] intervals, int[] newInterval) {int idx 0;List<int[]> res new ArrayList<>();while (…