【极光系列】SpringBoot集成Mybatis

【极光系列】SpringBoot集成Mybatis

一.gitee地址

浅夏的猫 @shawsongyue
直接下载可用 https://gitee.com/shawsongyue/aurora.git

二.mysql安装教程

详细参考我的另外一遍博客: https://blog.csdn.net/weixin_40736233/article/details/135582926?spm=1001.2014.3001.5501

三.集成mybatis步骤

1. 处理依赖pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xsy</groupId><artifactId>aurora_mybatis</artifactId><version>1.0-SNAPSHOT</version><!--基础SpringBoot依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version></parent><!--属性设置--><properties><!--java_JDK版本--><java.version>1.8</java.version><!--maven打包插件--><maven.plugin.version>3.8.1</maven.plugin.version><!--编译编码UTF-8--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!--输出报告编码UTF-8--><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!--mysql版本--><mysql-connector-java.version>8.0.21</mysql-connector-java.version><!--json数据格式处理工具--><fastjson.version>1.2.75</fastjson.version><!--mybatis--><mybatis.version>3.5.3</mybatis.version></properties><!--通用依赖--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- Lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!-- json --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector-java.version}</version><scope>runtime</scope></dependency><!-- 集成MyBatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.2</version></dependency></dependencies><!--编译打包--><build><finalName>${project.name}</finalName><!--资源文件打包--><resources><resource><directory>src/main/resources</directory></resource><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources><!--插件统一管理--><pluginManagement><plugins><!--maven打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring.boot.version}</version><configuration><fork>true</fork><finalName>${project.build.finalName}</finalName></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><!--编译打包插件--><plugin><artifactId>maven-compiler-plugin</artifactId><version>${maven.plugin.version}</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>UTF-8</encoding><compilerArgs><arg>-parameters</arg></compilerArgs></configuration></plugin></plugins></pluginManagement></build><!--配置Maven项目中需要使用的远程仓库--><repositories><repository><id>aliyun-repos</id><url>https://maven.aliyun.com/nexus/content/groups/public/</url><snapshots><enabled>false</enabled></snapshots></repository></repositories><!--用来配置maven插件的远程仓库--><pluginRepositories><pluginRepository><id>aliyun-plugin</id><url>https://maven.aliyun.com/nexus/content/groups/public/</url><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></project>

2. 处理数据库表

登录mysql数据库,创建表 tianchi_resource,并插入数据

CREATE TABLE `tianchi_resource` (`id` bigint NOT NULL COMMENT '自增主键',`resource_name` varchar(128) DEFAULT NULL COMMENT '资源名称',`resource_path` varchar(255) DEFAULT NULL COMMENT '资源路径',`resource_icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '资源图标',`resource_icon_color` varchar(32) DEFAULT NULL COMMENT '资源图标颜色',`resource_describe` varchar(255) DEFAULT NULL COMMENT '资源描述',`resource_author` varchar(16) DEFAULT NULL COMMENT '资源作者',`resource_type` varchar(16) DEFAULT NULL COMMENT '资源类型',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;-- 插入数据验证
INSERT INTO `aurora`.`tianchi_resource` (`id`, `resource_name`, `resource_path`, `resource_icon`, `resource_icon_color`, `resource_describe`, `resource_author`, `resource_type`, `create_time`, `update_time`) VALUES (1, 'colorUI资源包', 'http://baidu.com', 'url(https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg)', NULL, 'uniapp的ui页面资源包,免费提供,uniapp的ui页面资源包,免费提供,uniapp的ui页面资源包,免费提供', '浅夏的猫', NULL, '2024-01-06 00:50:33', '2024-01-07 23:56:58');

3. 处理配置application.yml

#服务配置
server:#端口port: 7001#spring配置
spring:#应用配置application:#应用名name: aurora_mybatis#数据源配置datasource:#驱动driver-class-name: com.mysql.cj.jdbc.Driver#连接地址url: jdbc:mysql://127.0.0.1:3306/aurora?serverTimezone=UTC&characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true#数据库用户username: root#数据库密码password: yourpassword#mybatis配置
mybatis:#mapper.xml文件扫描路径mapper-locations: classpath*:mapper/*Mapper.xml#实体类扫描路径,配置这个以后mapper,xml里面写的实体类不需要全路径type-aliases-package: com.aurora.entity#mybatis拓展配置configuration:#设置下划线自动转换为大写字母map-underscore-to-camel-case: true

4.创建对应的类

在这里插入图片描述

(1)主启动类

tips:Application.class 类 springboot程序启动必备

package com.aurora;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author 浅夏的猫* @description 主启动类* @date 22:46 2024/1/13*/
@SpringBootApplication
@MapperScan("com.aurora.mapper")
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
(2)实体类

tips:ResourceEntity.class 类 创建与数据库表对应的实体类,后续映射需要使用

package com.aurora.entity;import com.fasterxml.jackson.annotation.JsonFormat;import java.io.Serializable;
import java.util.Date;/*** @author 浅夏的猫* @description 资源实体类* @date 22:42 2024/1/13*/
public class ResourceEntity implements Serializable {private static final long serialVersionUID = 1L;//资源idprivate Long id;//资源名称private String resourceName;//资源路径private String resourcePath;//资源图标private String resourceIcon;//资源图标颜色private String resourceIconColor;//资源描述private String resourceDescribe;//资源类型private String resourceType;//资源作者private String resourceAuthor;//资源创建时间@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date createTime;//资源更新时间@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date updateTime;//查询结束时间private Date endTime;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getResourceName() {return resourceName;}public void setResourceName(String resourceName) {this.resourceName = resourceName;}public String getResourcePath() {return resourcePath;}public void setResourcePath(String resourcePath) {this.resourcePath = resourcePath;}public String getResourceIcon() {return resourceIcon;}public void setResourceIcon(String resourceIcon) {this.resourceIcon = resourceIcon;}public String getResourceIconColor() {return resourceIconColor;}public void setResourceIconColor(String resourceIconColor) {this.resourceIconColor = resourceIconColor;}public String getResourceDescribe() {return resourceDescribe;}public void setResourceDescribe(String resourceDescribe) {this.resourceDescribe = resourceDescribe;}public String getResourceType() {return resourceType;}public void setResourceType(String resourceType) {this.resourceType = resourceType;}public String getResourceAuthor() {return resourceAuthor;}public void setResourceAuthor(String resourceAuthor) {this.resourceAuthor = resourceAuthor;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}public Date getEndTime() {return endTime;}public void setEndTime(Date endTime) {this.endTime = endTime;}@Overridepublic String toString() {return "ResourceEntity{" +"id=" + id +", resourceName='" + resourceName + '\'' +", resourcePath='" + resourcePath + '\'' +", resourceIcon='" + resourceIcon + '\'' +", resourceIconColor='" + resourceIconColor + '\'' +", resourceDescribe='" + resourceDescribe + '\'' +", resourceType='" + resourceType + '\'' +", resourceAuthor='" + resourceAuthor + '\'' +", createTime=" + createTime +", updateTime=" + updateTime +", endTime=" + endTime +'}';}
}
(3)创建映射类

tips:映射类主要用于编写操作sql的接口方法

package com.aurora.mapper;import com.aurora.entity.ResourceEntity;
import org.apache.ibatis.annotations.Mapper;import java.util.List;/*** @author 浅夏的猫* @description 资源mapper操作类* @date 22:45 2024/1/13*/
@Mapper
public interface ResourceMapper {/*** @return java.util.List<com.aurora.entity.ResourceEntity>* @description* @author 浅夏的猫* @datetime 23:19 2024/1/13*/List<ResourceEntity> list();
}
(4)创建sql映射文件

tips: 每一个映射类对应一个mapper映射文件,在resources的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.aurora.mapper.ResourceMapper"><select id="list"  resultType="ResourceEntity">select * from tianchi_resource</select></mapper>
(5)创建控制类

tips: 控制类用于浏览器或前端访问使用

package com.aurora.controller;import com.aurora.entity.ResourceEntity;
import com.aurora.mapper.ResourceMapper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
import java.util.List;/*** @author 浅夏的猫* @description 资源controller* @date 22:38 2024/1/13*/
@RestController
@RequestMapping("/resource")
public class ResourceController {@Resourceprivate ResourceMapper resourceMapper;/*** @return java.util.List<com.aurora.entity.ResourceEntity>* @description 查询全部资源数据列表* @author 浅夏的猫* @date 22:40 2024/1/13*/@RequestMapping("/list")public List<ResourceEntity> list() {return resourceMapper.list();}
}
(5)启动应用,控制台访问

tips: 访问地址http://localhost:7001/resource/list

在这里插入图片描述

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

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

相关文章

从物联网到数字孪生:智慧社区的未来之路

一、物联网在智慧社区中的应用与挑战 随着科技的飞速发展&#xff0c;物联网技术已经深入到我们生活的方方面面&#xff0c;尤其在智慧社区的建设中发挥着举足轻重的作用。物联网通过连接各种设备和系统&#xff0c;为社区居民提供了更便捷、高效的生活方式&#xff0c;同时也…

Hologres + Flink 流式湖仓建设

Hologres Flink 流式湖仓建设 1 Flink Hologres2 实时维表 Lookup 1 Flink Hologres holo在实时数仓领域非常受欢迎&#xff0c;一般搭配flinkhologres来做实时数仓&#xff0c;中间分层用holo&#xff0c;上下游一般依赖于holo的binlog来下发数据 2 实时维表 Lookup Holo…

微服务理解

分布式和微服务有什么区别 分布式是把一个集中式系统拆分成多个系统&#xff0c;每一个系统单独对外提供部分功能&#xff0c;整个分布式系统整体对外提供一整套服务。对于访问分布式系统的用户来说&#xff0c;感知上就像访问一台计算机一样. 而分布式架构的具体实现有很多种…

使用java内置工具jar手动创建xxx.jar文件

平时我们一般都是在IDE工具中使用插件打包JAVA项目为 XXX.jar文件, 其实这个工作我们手动也可以完成, 也非常简单, 使用JDK自带的jar命令行工具即可. 用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... jar用法示例 创建 jar: …

第8章-第2节-Java中IO流的简单介绍

1、什么是流 我们可以先想象水流是怎样的&#xff1f;溪水不断流动&#xff0c;最终融入大海&#xff1b;我们今天的学习IO其实如同水流一样&#xff0c;当我们读取文件信息或者写入信息时&#xff0c;如同水流一样&#xff0c;不断读取或者写入&#xff0c;直到业务流程结束。…

高级分布式系统-第13讲 分布式控制经典理论

模糊控制器 模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法&#xff0c;它是从行为上模仿人的模糊推理和决策过程的一种智能控制方法。 该方法首先将操作人员或专家经验编成模糊规则&#xff0c;然后将来自传感器的实时信号模糊化&#xff0c;…

vue3-响应式基础之ref

声明响应式状态 ref() 在组合式 API 中&#xff0c;推荐使用 ref() 函数来声明响应式状态&#xff1a; ref() 接收参数&#xff0c;并将其包裹在一个带有 .value 属性的 ref 对象中返回&#xff1a; import { ref } from vue const count ref(0)console.log(count) // { va…

CAN工具 - ValueCAN3 - 基础介绍

关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”&#xff0c;即可获得canoe入门到精通电子书和INCA软件安装包&#xff08;不带授权码&#xff09;下载地址。 CAN/CANFD通讯广泛存在于整个车载网络中&#xff0c;几乎每一块软硬件的开发都需要用到CAN工具&#xff0c…

Mask R-CNN网络中RPN区域建议网络的作用是什么?

问题描述&#xff1a;Mask R-CNN网络中RPN区域建议网络的作用是什么&#xff1f; 问题解答&#xff1a; 在 Mask R-CNN&#xff08;Mask Region-based Convolutional Neural Network&#xff09;中&#xff0c;RPN&#xff08;Region Proposal Network&#xff09;是用于生成…

机器学习 | 多层感知机MLP

机器学习 | 多层感知机MLP 1. 实验目的 自行构造一个多层感知机&#xff0c;完成对某种类型的样本数据的分类&#xff08;如图像、文本等&#xff09;&#xff0c;也可以对人工自行构造的二维平面超过3类数据点&#xff08;或者其它标准数据集&#xff09;进行分类。 2. 实验…

Hadoop 3.2.4 集群搭建详细图文教程

一、集群简介 Hadoop 集群包括两个集群&#xff1a;HDFS 集群、YARN 集群。两个集群逻辑上分离、通常物理上在一起&#xff1b;两个集群都是标准的主从架构集群。逻辑上分离 两个集群互相之间没有依赖、互不影响 物理上在一起 某些角色进程往往部署在同一台物理服务器上 MapR…

KY56 数制转换

进制转换板子 ti #include<bits/stdc.h>using namespace std;string ss "0123456789ABCDEF"; int a, b; string s;int main() {cin>>a>>s>>b;string str "";int len s.length();for(int i 0; i < len; ){int k 0;for(int…

Open3D (C++) 计算条件数

目录 一、算法原理1、条件数2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、条件数 条件数法是目前应用最为广泛的一种病态诊断方法。条件数的定义为:

LeeCode前端算法基础100题(18)整数转罗马数字

一、问题详情: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1…

K邻近和KNN

K邻近 K邻近是一种分类算法&#xff0c;其思路是计算离该类别最近的K条数据的类别&#xff0c;来标记该数据的类别 !别 KNN&#xff1a; • KNN算法主要是用于解决监督学习中的分类问题 • 其数据集是由特征值和目标值组成&#xff0c;使用的数据是已经标记过的数据 • KNN…

基于RNN的模型

文本数据是一种典型的具有序列结构的数据&#xff0c;因为文本通常是由一系列的词语或字符组成的序列。每个词语或字符在文本中都有特定的位置和顺序&#xff0c;这种有序的结构对于理解和处理文本的含义至关重要。因此&#xff0c;多数情况下需要使用时间序列建模来完成相应的…

HX711压力传感器学习一(STM32)

目录 原理图&#xff1a;​ 引脚介绍&#xff1a; HX711介绍工作原理: 程序讲解&#xff1a; 整套工程&#xff1a; 发送的代码工程&#xff0c;与博客的不一致&#xff0c;如果编译有报错请按照报错和博客进行修改 原理图&#xff1a; 引脚介绍&#xff1a; VCC和GND引…

计算机体系结构基础复习

1. 计算机系统可划分为哪几个层次,各层次之间的界面是什么? 你认为这样划分层次的意义何在? 答&#xff1a; 计算机系统可划分为四个层次&#xff0c;分别是&#xff1a;应用程序、 操作系统、 硬件系统、 晶体管四个大的层次。 注意把这四个层次联系起来的三个界面。各层次…

gateway Redisson接口级别限流解决方案

文章目录 前言1. 计数器算法&#xff08;固定窗口限流器&#xff09;2. 滑动窗口日志限流器3. 漏桶算法&#xff08;Leaky Bucket&#xff09;4. 令牌桶算法&#xff08;Token Bucket&#xff09;5. 限流队列应用场景实现工具 一、Redisson简介二、Redisson限流器的原理三、Red…

Reflect

Reflect Reflect拥有Object对象的一些内部方法&#xff0c;某些方法会同时在Object对象和Reflect对象上部署&#xff0c;也就是说Object对象上存在的方法&#xff0c;通过Reflect也可以访问到。 单论Reflect的话&#xff0c;可以这么理解&#xff0c;Reflect就是继承了Object的…