gradle7.6.1+springboot3.2.4創建微服務工程

目錄

一、創建主工程cloud-demo并刪除src目錄

二、創建子工程user-service/order-service?

三、更改父工程build.gradle文件?

四、子工程使用mybatis框架

?五、子工程使用mybatis-plus框架

六、相關數據庫創建

?七、最終目錄結構


一、創建主工程cloud-demo并刪除src目錄

二、創建子工程user-service/order-service?

三、更改父工程build.gradle文件?
  • ?ext內容需配合設置云效倉庫參數到環境變量及gradle使用-CSDN博客使用?

plugins {  id 'org.springframework.boot' version '3.2.4'  id 'io.spring.dependency-management' version '1.1.4'  
}  group = 'com.fafa'  subprojects {  apply plugin: 'org.springframework.boot'  apply plugin: 'io.spring.dependency-management'  apply plugin: 'java'  sourceCompatibility = 17  targetCompatibility = 17  ext {  MAVEN_REPO_RELEASE_URL = System.getenv('MAVEN_REPO_RELEASE_URL')  MAVEN_REPO_SNAPSHOT_URL = System.getenv('MAVEN_REPO_SNAPSHOT_URL')  MAVEN_DEPLOY_USER = System.getenv('MAVEN_DEPLOY_USER')  MAVEN_DEPLOY_PASSWORD = System.getenv('MAVEN_DEPLOY_PASSWORD')  }  repositories {  maven { url "https://maven.aliyun.com/nexus/content/groups/public/" }  maven {  url 'https://maven.aliyun.com/repository/public'  }  maven { url "https://repo.spring.io/milestone" }  maven { url "https://plugins.gradle.org/m2/" }  maven {  credentials {  username MAVEN_DEPLOY_USER  password MAVEN_DEPLOY_PASSWORD  }  url MAVEN_REPO_RELEASE_URL  }  maven {  credentials {  username MAVEN_DEPLOY_USER  password MAVEN_DEPLOY_PASSWORD  }  url MAVEN_REPO_SNAPSHOT_URL  }  mavenCentral()  }  dependencies {  //Spring Boot Web 啟動器  implementation 'org.springframework.boot:spring-boot-starter-web'  compileOnly 'org.projectlombok:lombok'  runtimeOnly 'com.mysql:mysql-connector-j'  annotationProcessor 'org.projectlombok:lombok'  testImplementation 'org.springframework.boot:spring-boot-starter-test' }  test {  useJUnitPlatform()  }  sourceSets {  main {  resources {  srcDirs = ['src/main/resources']  }  }  }  tasks.withType(JavaCompile) {  options.encoding = "UTF-8"  doLast {  copy {  from sourceSets.main.resources  into "$buildDir/resources/main"  }  }  }  
}
四、子工程使用mybatis框架
  • build.gradle

group = 'com.fafa.order'  
version = '1.0'  
description = "order-service"  apply plugin: 'application'  dependencies {  implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' 
}
  • application.yml?

server:  port: 8084  spring:  datasource:  url: jdbc:mysql://localhost:3306/db_order?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC  username: root  password: 123456  
mybatis:  mapper-locations: classpath:/mappers/**/*.xml  type-aliases-package: com.fafa.order.entity
  • OrderMapper.xml?

<?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.fafa.order.mapper.OrderMapper">  <resultMap type="Order" id="orderResult">  <result property="orderId" column="order_id"/>  <result property="orderName" column="order_name"/>  <result property="goodsId" column="goods_id"/>  <result property="summary" column="summary"/>  </resultMap>  <sql id="selectOrderVo">  select * from order_info  </sql>  <select id="getAll" parameterType="Order" resultMap="orderResult">  <include refid="selectOrderVo"/>  <where>  <if test="orderName != null ">and order_name like concat('%', #{orderName}, '%')</if>  </where>  order by order_id desc  </select>  
</mapper>
  • Order.java?

package com.fafa.order.entity;  
import lombok.Data;  @Data  
public class Order {  private int orderId;  private String orderName;  private int goodsId;  private int summary;  
}
  • OrderMapper.java?

package com.fafa.order.mapper;    
import com.fafa.order.entity.Order;  
import org.apache.ibatis.annotations.Mapper;   
import java.util.List;  @Mapper  
public interface OrderMapper {  public List<Order> getAll(Order order);  
}
  • IOrderService.java?

package com.fafa.order.service;  
import com.fafa.order.entity.Order;  
import java.util.List;  public interface IOrderService {  List<Order> getAll(Order order);  
}
  • OrderService.java?

package com.fafa.order.service;  
import com.fafa.order.entity.Order;  
import com.fafa.order.mapper.OrderMapper;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  
import java.util.List;  @Service  
public class OrderService implements IOrderService{  @Autowired  private OrderMapper orderMapper;  @Override  public List<Order> getAll(Order order) {  return orderMapper.getAll(order);  }  
}
  • OrderController.java?

package com.fafa.order.controller;  
import com.fafa.order.entity.Order;  
import com.fafa.order.service.IOrderService;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  import java.util.List;  @RestController  
@RequestMapping("/order")  
public class OrderController {  @Autowired  private IOrderService orderService;  @GetMapping("/getAll")  public List<Order> getAll(Order order) {  return orderService.getAll(null);  }  
}
  • OrderApplication.java?

package com.fafa.order;  
import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  @SpringBootApplication  
public class OrderApplication {  public static void main(String[] args) {  SpringApplication.run(OrderApplication.class, args);  }  
}
  • OrderApplicationTests.java?

package com.fafa.order;  
import com.fafa.order.entity.Order;  
import com.fafa.order.service.IOrderService;  
import org.junit.jupiter.api.Test;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.boot.test.context.SpringBootTest;  
import org.springframework.util.Assert;  
import java.util.List;  @SpringBootTest  
public class OrderApplicationTests {  @Autowired  private IOrderService orderService;  @Test  public void getAll(){  List<Order> list=orderService.getAll(null);  Assert.isTrue(list.isEmpty(),"有數據");  list.forEach(System.out::println);  }  
}
  • test.http

### getAll  
GET http://localhost:8084/order/getAll  
Accept: application/json
?五、子工程使用mybatis-plus框架

?參考文章:gradle7.6.1+springboot3.2.4+mybatis-plus搭建工程-CSDN博客

六、相關數據庫創建
create database db_order;  
use db_order;  SET NAMES utf8mb4;  
SET FOREIGN_KEY_CHECKS = 0;  -- ----------------------------  
-- Table structure for order_info  
-- ----------------------------  
DROP TABLE IF EXISTS `order_info`;  
CREATE TABLE `order_info` (  `order_id` bigint NOT NULL AUTO_INCREMENT COMMENT '訂單ID',  `order_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '訂單名稱',  `goods_id` bigint NULL DEFAULT NULL COMMENT '商品ID',  `summary` bigint NULL DEFAULT NULL COMMENT '總額',  PRIMARY KEY (`order_id`) USING BTREE  
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '訂單信息' ROW_FORMAT = Dynamic;  SET FOREIGN_KEY_CHECKS = 1;
create database db_user;  
use db_user;  SET NAMES utf8mb4;  
SET FOREIGN_KEY_CHECKS = 0;  -- ----------------------------  
-- Table structure for user_info  
-- ----------------------------  
DROP TABLE IF EXISTS `user_info`;  
CREATE TABLE `user_info` (  `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用戶ID',  `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '用戶名',  `sex` tinyint NULL DEFAULT 0 COMMENT '性別 0 未知 1女 2男',  PRIMARY KEY (`user_id`) USING BTREE  
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用戶表' ROW_FORMAT = Dynamic;  SET FOREIGN_KEY_CHECKS = 1;
?七、最終目錄結構

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915581.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915581.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915581.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦windows系統深度維護指南

&#x1f5a5;? 電腦系統全方位維護指南 預防故障 提升性能 延長壽命 &#x1f50d; 引言&#xff1a;為什么需要系統維護&#xff1f; 電腦如同汽車&#xff0c;定期保養可避免&#xff1a; ? 突發藍屏死機 ? 系統卡頓崩潰 ? 硬件過早損壞 ? 數據丟失風險 本指南提供…

字節內部流傳的數據分析手冊

之前2領導整理內部分享的&#xff0c;所以很多內部業務的分析&#xff0c;比如工作中怎么落地、怎么推進。(數據都是脫敏的哈) **里面的內容都偏應用&#xff0c;比如產品迭代怎么做數據評估、用戶增長靠什么指標拆解、AB實驗怎么設計、運營活動怎么閉環。**數據分析都是很實際…

Nginx Proxy Manager + LB + Openappsec + Web UI 構建下一代WAF

Nginx Proxy Manager + LB + Openappsec + Web UI部署 一、環境介紹 二、系統參數優化 三、安裝docker 四、創建docker網絡 五、創建測試容器 六、部署NPM和openappsec 1、下載docker-compose文件 2、拉取相關鏡像 3、web UI 獲取token 4、修改compose文件并安裝 七、登陸NPM配…

【React】npm install報錯npm : 無法加載文件 D:\APP\nodejs\npm.ps1,因為在此系統上禁止運行腳本。

使用vsCode打開react項目安裝依賴時報錯&#xff0c;把terminal打開的powershell改成command prompt即可

深入解析C#裝箱轉換:值類型如何“變身”為引用類型?

當你將 int i 賦值給 object oi 時&#xff0c; 看似簡單的操作背后&#xff0c;藏著一場精密的類型轉換革命&#xff01;&#x1f511; 一、核心概念&#xff1a;什么是裝箱&#xff1f; 裝箱&#xff08;Boxing&#xff09; 是C#中的一種隱式轉換機制&#xff0c;它將值類型&…

java list 與set 集合的迭代器在進行元素操作時出現數據混亂問題及原因

為什么 List 和 Set 迭代器刪除結果不同&#xff1f;1. List 和 Set 的本質差異List&#xff08;如 ArrayList&#xff09;&#xff1a;有序集合&#xff0c;元素按插入順序存儲&#xff0c;允許重復元素。迭代器遍歷時&#xff0c;元素按索引順序返回。刪除操作&#xff08;通…

大語言模型:人像攝影的“達芬奇轉世”?——從算法解析到光影重塑的智能攝影革命

導言在攝影術誕生之初&#xff0c;達芬奇或許無法想象&#xff0c;他對于光影、比例和解剖的嚴謹研究&#xff0c;會在數百年后以另一種形式重生。今天&#xff0c;當攝影師面對復雜的光線環境或苦苦尋找最佳構圖時&#xff0c;一位由代碼構筑的“光影軍師”正悄然降臨——大語…

Java——MyBatis從入門到精通:一站式學習指南

MyBatis從入門到精通&#xff1a;一站式學習指南 作為一款優秀的半自動ORM框架&#xff0c;MyBatis以其靈活的SQL控制和簡潔的配置方式&#xff0c;成為Java后端開發中持久層框架的首選。本文將從基礎概念到高級特性&#xff0c;全面講解MyBatis的使用方法&#xff0c;包含實用…

面試150 添加與搜索單詞--數據結構設計

思路 通過哈希法去實現&#xff0c;這里主要描述search的思路&#xff1a;如果’.‘不在word中&#xff0c;我們只需要去查詢word在不在set中。如果’.‘存在&#xff0c;我們對哈希中的字符串進行遍歷w&#xff0c;如果當前字符串的長度不等于word跳過,對word進行遍歷&#xf…

學習打卡網站(搭子版本)

概述 之前用了網上的一些學習打卡類app&#xff0c;基本都是收費的&#xff0c;而且有些自己想要的功能卻沒有&#xff0c;甚至還有廣告&#xff0c;正好暑假是個需要容易懶惰的時間&#xff0c;所以干脆自己做了一個能和學習搭子一起記錄計劃的小網站。 昨天早上開始寫&#x…

分享如何在Window系統的云服務器上部署網站及域名解析+SSL

最近看到阿里云的服務器有個199的活動&#xff0c;買了個2核4G帶寬5M的服務器&#xff0c;用于小網站的運營也足夠&#xff0c;于是就買一個&#xff0c;并且我還挑了個新加坡的站點&#xff0c;本想著運營獨立站&#xff0c;用新加坡的站點外網訪問會更友好一點。于是問題就來…

FastAdmin系統框架通用操作平滑遷移到新服務器的詳細步驟-優雅草卓伊凡

FastAdmin系統框架通用操作平滑遷移到新服務器的詳細步驟-優雅草卓伊凡我們蜻蜓hr系統采用的后端框架就是fastadmin&#xff0c;因此我們平穩遷移以此為例&#xff0c;為什么要遷移一份是因為有甲方需要。遷移FastAdmin系統到新服務器需要確保數據完整性和系統功能正常。以下是…

Request和Response相關介紹

Request 和 Response 是什么&#xff1f; Request&#xff08;請求對象&#xff09;&#xff1a;用來接收瀏覽器發過來的數據。 Response&#xff08;響應對象&#xff09;&#xff1a;用來把服務器處理后的結果返回給瀏覽器。 1. request 的作用&#xff08;獲取請求數據&am…

Springboot 實現熱部署

spring為開發者提供了一個名為spring-boot-devtools的模塊來使Spring Boot應用支持熱部署&#xff0c;提高開發者的開發效率&#xff0c;無需手動重啟Spring Boot應用。引入依賴<dependency><groupId>org.springframework.boot</groupId><artifactId>s…

虛擬機擴展磁盤容量后擴展分區大小

1. 首先檢查磁盤剩余空間sudo fdisk -l /dev/sda2. 如果有未分配空間&#xff0c;直接擴展分區sudo fdisk /dev/sda在fdisk交互界面中&#xff0c;依次寫入d # 刪除分區 3 # 例如選擇分區3&#xff08;/dev/sda3&#xff09; n # 新建分區 p # 主分區 3 # 分區號3 # 起始扇…

元宇宙與游戲:虛實交融的數字文明新紀元

引言&#xff1a;當游戲遇見元宇宙在紐約現代藝術博物館&#xff08;MoMA&#xff09;的"虛擬世界"特展中&#xff0c;一幅數字藝術作品《元宇宙誕生》引發觀展熱潮。這幅由AI與人類藝術家共同創作的作品&#xff0c;描繪了游戲《堡壘之夜》的虛擬演唱會與現實世界交…

音視頻學習(四十二):H264幀間壓縮技術

必要性與優勢 原始數字視頻數據量龐大&#xff0c;未經壓縮的視頻難以有效傳輸和存儲。例如&#xff0c;一個 1080p、30fps 的無壓縮視頻&#xff0c;每秒數據量可達數百兆比特。視頻壓縮的目標是在保證視覺質量的前提下&#xff0c;最大限度地減少數據冗余。視頻數據中存在多種…

微服務雪崩防護最佳實踐之sentinel

思考1、當服務訪問量達到一定程度&#xff0c;流量扛不住的時候&#xff0c;該如何處理&#xff1f;2、服務之間相互依賴&#xff0c;當服務A出現響應時間過長&#xff0c;影響到服務B的響應&#xff0c;進而產生連鎖反應&#xff0c;直至影響整個依賴鏈上的所有服務&#xff0…

阿里云監控及運維常見問題

云監控介紹&#xff1a;阿里云的云監控服務&#xff08;CloudMonitor&#xff09;是一款簡單易用、功能強大的監控工具&#xff0c;主要用來幫助用戶實時監控阿里 云上的各種資源&#xff08;比如服務器、數據庫、網絡等&#xff09;&#xff0c;并在出現問題時及時發出警報&am…

深入解析 vLLM 分布式推理與部署策略

在當今人工智能快速發展的時代&#xff0c;大型語言模型&#xff08;LLM&#xff09;的推理和部署面臨著諸多挑戰&#xff0c;尤其是當模型規模日益龐大時&#xff0c;如何高效地利用硬件資源成為關鍵問題。vLLM 作為一種強大的工具&#xff0c;為分布式推理和部署提供了多種策…