SpringBoot+MyBatis+MySQL项目基础搭建

news/2024/10/15 10:48:49/

一、新建项目

1.1 新建springboot项目

新建项目
在这里插入图片描述
选择SpringBoot,填写基本信息,主要是JDK版本和项目构建方式,此处以JDK17和Maven举例。
在这里插入图片描述

1.2 引入依赖

选择SpringBoot版本,勾选Lombok,Spring Web,MyBatis,MySQL依赖。
在这里插入图片描述

1.3 创建完成

在这里插入图片描述

二、基础配置

2.1 配置application.properties

配置启动端口,数据库信息,MyBatis的基本配置。
在这里插入图片描述

2.2 配置mapper接口的bean扫描

此处以@MapperScan注解扫描整个包的mapper接口,也可以在每个mapper接口上添加@Mapper注解。
在这里插入图片描述

三、功能演示

3.1 数据库准备

CREATE TABLE `sys_user`
(`id`          bigint NOT NULL AUTO_INCREMENT COMMENT 'id',`username`    varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',`password`    varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',`nick_name`   varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称',`gender`      int NULL DEFAULT NULL COMMENT '性别:1-男 2-女',`avatar`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',`remark`      varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',`del_flag`    tinyint(1) NULL DEFAULT NULL COMMENT '逻辑删除',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic;

3.2 实体类

package com.qiangesoft.demo.entity;import lombok.Data;/*** 用户** @author qiangesoft* @since 2024-10-14*/
@Data
public class SysUser {/*** id*/private Long id;/*** 用户名*/private String username;/*** 密码*/private String password;/*** 昵称*/private String nickName;/*** 性别:1-男 2-女*/private Integer gender;/*** 头像*/private String avatar;/*** 备注*/private String remark;/*** 逻辑删除*/private Boolean delFlag;}

3.3 Mapper接口及xml

package com.qiangesoft.demo.mapper;import com.qiangesoft.demo.entity.SysUser;/*** 用户** @author qiangesoft* @since 2024-10-14*/
public interface SysUserMapper {/*** 通过主键查询用户* @param id* @return*/SysUser selectByPrimaryKey(Long id);}
<?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.qiangesoft.demo.mapper.SysUserMapper"><resultMap id="resultMap" type="com.qiangesoft.demo.entity.SysUser"><result column="id" property="id"/><result column="username" property="username"/><result column="password" property="password"/><result column="nick_name" property="nickName"/><result column="gender" property="gender"/><result column="avatar" property="avatar"/><result column="remark" property="remark"/><result column="del_flag" property="delFlag"/></resultMap><select id="selectByPrimaryKey" resultMap="resultMap">select id,username,password,nick_name,gender,avatar,remark,del_flagfrom sys_userwhere id = #{id}</select></mapper>

3.4 Service接口及实现

package com.qiangesoft.demo.service;import com.qiangesoft.demo.entity.SysUser;/*** 用户** @author qiangesoft* @since 2024-10-14*/
public interface SysUserService {/*** 通过id查询用户* @param id* @return*/SysUser getSysUserById(Long id);}
package com.qiangesoft.demo.service.impl;import com.qiangesoft.demo.entity.SysUser;
import com.qiangesoft.demo.mapper.SysUserMapper;
import com.qiangesoft.demo.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** 用户** @author qiangesoft* @since 2024-10-14*/
@Service
public class SysUserServiceImpl implements SysUserService {@Autowiredprivate SysUserMapper sysUserMapper;@Overridepublic SysUser getSysUserById(Long id) {return sysUserMapper.selectByPrimaryKey(id);}}

3.5 Controller

package com.qiangesoft.demo.controller;import com.qiangesoft.demo.entity.SysUser;
import com.qiangesoft.demo.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 用户** @author qiangesoft* @since 2024-10-14*/
@RequestMapping("/sysUser")
@RestController
public class SysUserController {@Autowiredprivate SysUserService sysUserService;@GetMapping("/{id}")public SysUser findById(@PathVariable Long id) {return sysUserService.getSysUserById(id);}}

3.6 代码结构

在这里插入图片描述

3.7 测试

数据库插入一条数据,然后调用接口查询。
在这里插入图片描述
在这里插入图片描述

四、源码下载

百度网盘:https://pan.baidu.com/s/1zRoU4e7FNpTbzdmbX6lf0w
提取码:1234


http://www.ppmy.cn/news/1539393.html

相关文章

Android调用系统打印图片

拍摄和分享照片是移动设备最受欢迎的用途之一。如果您的应用 拍摄照片、展示照片或允许用户分享图片&#xff0c;则应考虑启用打印功能 和图片。Android 支持库提供了一个便捷的功能&#xff0c;支持使用 只需编写极少的代码和一组简单的打印版式选项。 本节课介绍如何使用 v4…

机器人末端的负载辨识

关节处的摩擦力变小了&#xff0c;导致系统的参数辨识精度会变高&#xff0c;因为动力学方程中的摩擦力项占的比例会变小。 为什么要有一个负载的参数辨识&#xff0c;因为对于整个系统来说&#xff0c;除了负载哈&#xff0c;其他关节都是不变的&#xff0c;出厂时都设置好了&…

【Lua学习】数值number和数学库math

类型显示 Lua中number表示数值&#xff0c;无论是整数、浮点数、指数、负数&#xff0c;都用number表示。在Lua5.3以后&#xff0c;Lua 为数值格式提供了两种子类型&#xff0c;分别是 integer 的 64 位整型和 float 的双精度浮点型值。 所有的数值使用type函数都能获得相同的…

Tomcat的下载安装与使用

目录 Tomcat的下载与安装 Tomcat在本机运行使用 Tomcat在云服务器上的使用 Tomcat是一个Java写的HTTP服务器&#xff0c;并且是一个“绿色软件”&#xff0c;只需要解压缩就可以使用&#xff08;前提是已经装好JDK&#xff09;。 Tomcat的下载与安装 1.首先打开Tomcat的官…

智能工厂的软件设计 “原力”和“新生力量” 之1

本文要点 本篇“智能工厂的设计软件”中的双重客体“程序Program”&#xff08;姑且 认为是 模拟人工智能- 一具体问题域具体分析得到的单个实体&#xff09;的天生“原力”&#xff08; 对AI的初始假设&#xff09;的认识以及 出生后这些“原力”如何以及怎样更新&#xff08…

SpringBoot开发——SpringSecurity安全框架17个业务场景案例(三)

文章目录 一、Spring Security 常用应用场景介绍二、Spring Security场景案例12 表达式支持(Expression-Based)12.1 Spring Security 配置12.2 业务逻辑代码12.3 控制器13、安全上下文(Security Context)13.1 Spring Security 配置13.2 业务逻辑代码13.3 控制器14、安全过滤…

道观小程序系统架构设计与实现开发案例分析

道观小程序是一款专为道教信仰者和文化爱好者设计的移动应用&#xff0c;旨在提供一站式服务体验。它融合了道教文化传播、道观信息查询、在线供奉祈福以及信众互动交流等多重功能&#xff0c;让用户能够轻松获取道观的最新资讯&#xff0c;参与宗教活动&#xff0c;享受便捷的…

计算机网络:数据链路层 —— 共享式以太网

文章目录 共享式以太网CSMA/CD 协议CSMA/CD 协议 的基本原理 共享式以太网的争用期共享式以太网的最小帧长共享式以太网的最大帧长共享式以太网的退避算法截断二进制指数退避算法 共享二进制以太网的信道利用率使用集线器的共享式以太网10BASE-T 共享式以太网 共享式以太网是当…