Spring Boot操作MaxComputer(保姆級教程)

目錄

引言

一、引入依賴

二、配置文件?application.properties(信息用自己的奧)

三、實體類User.java

四、UserController

五、UserService

六、UserDao

七、UserDao.xml

八、postman 訪問,成功查詢數據

附件(修改和刪除數據)


引言

??MaxComputer本質上是管理dataworks 中的表,我們如何用Java框架來操作MaxComputer中的表數據呢,有幾種方法,今天我推薦的是MaxComputer結合Spring Boot ;MyBatis 的操作方式,這種方法優點是很簡單,不用學習新的API 數據mybatis 操作即可。

首先要在阿里云后臺創建一張表,下面我用user 表測試

https://maxcompute.console.aliyun.com/cn-shanghai/sql-express

一、引入依賴

      <!-- spring boot 依賴--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--添加阿里云的依賴--><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.0</version></dependency><dependency><groupId>com.aliyun.odps</groupId><artifactId>odps-sdk-udf</artifactId><version>0.36.4-public</version></dependency><dependency><groupId>com.aliyun.odps</groupId><artifactId>odps-sdk-core</artifactId><version>0.36.4-public</version></dependency><!-- MyBatis 依賴 --><!-- mybatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency><!-- MaxCompute JDBC 連接驅動 --><dependency><groupId>com.aliyun.odps</groupId><artifactId>odps-jdbc</artifactId><version>3.2.0</version></dependency>

二、配置文件?application.properties(信息用自己的奧)

其中用戶名和密碼就是 accessKeyId和 accessKeySecret

spring.application.name= huixin-dataworks
# ???
server.port= 8080
aliyun.accessKeyId=
aliyun.accessKeySecret=N8rsIEWSH6AwinhfDp8shiDEHhRbpD
aliyun.endpoint= http://service.cn-shanghai.maxcompute.aliyun.com/api
aliyun.project= liingniu_2023
# MaxCompute 數據源配置
spring.datasource.url=jdbc:odps:http://service.cn-shanghai.maxcompute.aliyun.com/api?project=liingniu_2023
spring.datasource.username=
spring.datasource.password=N8rsIEWSH6AwinhfDp8shiDEHhRbpD
spring.datasource.driver-class-name=com.aliyun.odps.jdbc.OdpsDriver# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml

三、實體類User.java

package com.huixin.model;public class User {private Integer id;private String name;public User(Integer id, String name) {this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public User() {}
}

四、UserController

package com.huixin.controller;import com.huixin.model.User;
import com.huixin.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/api")
public class UserController {@Autowiredprivate  UserService userService;/*** 查詢數據* @return*/@GetMapping("/users")public List<User> getUsers() {return userService.selectAll();}}

五、UserService

package com.huixin.service;import com.huixin.dao.UserDao;
import com.huixin.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Autowiredprivate UserDao userDao;public List<User> selectAll(){return userDao.getAllUsers();}}

六、UserDao

package com.huixin.dao;import com.huixin.model.User;
import org.apache.ibatis.annotations.Mapper;import java.util.List;/*** <p>Project: huixin-dataworks - UserDao</p>* <p>Powered by webrx On 2025-02-27 08:41:08</p>* <p>描述:<p>** @author 簡單遺忘 [814736551@qq.com]* @version 1.0* @since 17*/
@Mapper
public interface UserDao {List<User> getAllUsers();}

七、UserDao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.huixin.dao.UserDao"><select id="getAllUsers" resultType="com.huixin.model.User">SELECT id, name FROM user LIMIT 10</select></mapper>

八、postman 訪問,成功查詢數據

附件(修改和刪除數據)

MaxCompute 是一個 分布式大數據計算平臺,主要用于 批量處理,并不支持像傳統數據庫那樣的 實時更新、刪除 操作。它的設計更多地側重于批處理和大規模數據查詢,因此,MaxCompute 中并不直接支持 UPDATEDELETE 操作。

修改

但是可以使用其他方法修改數據(這個語句只修改了 id 為3 的數據其他的不影響)

INSERT OVERWRITE TABLE user
SELECTid,CASEWHEN id = 3 THEN '楊逍'ELSE nameEND AS name
FROM user;

刪除

方法一:分區刪除

假設 user 表是按 dt 分區的,現在你想刪除 dt = '20250227' 的數據。這樣會刪除整個分區的數據。

ALTER TABLE user DROP PARTITION (dt = '20250227');

方法二:覆蓋刪除

如果你不使用分區或需要刪除特定的數據,最常見的方法是通過 INSERT OVERWRITE 覆蓋數據,將不需要的數據排除。

示例:刪除 id = 3 的數據

INSERT OVERWRITE TABLE user
SELECT * FROM user WHERE id != 3;

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

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

相關文章

Java【網絡原理】(2)初識網絡續與網絡編程

目錄 1.前言 2.正文 2.1TCP協議與UDP協議 2.2socket API進行網絡編程 2.2.1DatagramPacket類 2.2.1.1發送數據報 2.2.1.2接收數據報 2.2.1.3獲取數據報內容 2.2.1.4設置數據報內容 2.2.2DatagramSocket類 2.2.2.1構造方法 2.2.2.2常用方法 2.2.3具體代碼與解釋 3…

【Oracle專欄】sqlplus顯示設置+腳本常用顯示命令

Oracle相關文檔&#xff0c;希望互相學習&#xff0c;共同進步 風123456789&#xff5e;-CSDN博客 1.內容概述 本文主要針對oracle 運維中常用知識點進行整理&#xff0c;包括&#xff1a; 1&#xff09;sqlplus模式下&#xff0c;為了方便查詢設置相應的行寬、列寬、行數。…

在一臺win10專業版設備上使用docker的怪現象

這臺設備上&#xff0c;wsl環境無法直接安裝docker&#xff0c;必須要在宿主機安裝Docker Desktop.然后&#xff0c;在wsl運行前&#xff0c;要先啟動docker desktop&#xff0c;否則&#xff0c;你看不到你自己創建的映像。 然后如果沒有docker desktop加持&#xff0c;你在嘗…

Unity 中Sirenix.OdinInspector 插件常用功能梳理

案例一 public class PracticeAssets : ScriptableObject {[SerializeField][Searchable][ListDrawerSettings(ShowIndexLabels true)][LabelText("練習版數據列表")]public List<PracticeData> Practicies new List<PracticeData>(); } 1. Serialize…

C++ | 面向對象 | 類

&#x1f47b;類 &#x1f47e;語法格式 class className{Access specifiers: // 訪問權限DataType variable; // 變量returnType functions() { } // 方法 };&#x1f47e;訪問權限 class className {public:// 公有成員protected:// 受保護成員private:// 私有成員 }…

從零開始用react + tailwindcss + express + mongodb實現一個聊天程序(五) 實現登錄功能

1.登錄頁面 完善登錄頁面 和注冊差不多 直接copy signUpPage 內容 再稍微修改下 import { useState } from "react"; import { useAuthStore } from "../store/useAuthStore"; import { MessageSquare,Mail,Lock,Eye, EyeOff,Loader2} from "lucide…

Spring Boot電影評論網站系統設計與實現

隨著互聯網和娛樂產業的發展&#xff0c;電影評論網站逐漸成為人們分享觀影體驗、交流影評的重要平臺。本文將介紹一個基于Spring Boot框架開發的電影評論網站系統的功能設計與實現方案。 功能模塊概述 該電影評論網站系統分為管理員模塊和用戶模塊兩大核心部分&#xff0c;以…

XFeat:輕量級的深度學習圖像特征匹配

一、引言&#xff1a;圖像特征匹配的挑戰與XFeat的突破 在計算機視覺領域&#xff0c;圖像特征匹配是視覺定位&#xff08;Visual Localization&#xff09;、三維重建&#xff08;3D Reconstruction&#xff09;、增強現實&#xff08;AR&#xff09;等任務的核心基礎。傳統方…

【TVM教程】為 NVIDIA GPU 自動調度神經網絡

Apache TVM 是一個深度的深度學習編譯框架&#xff0c;適用于 CPU、GPU 和各種機器學習加速芯片。更多 TVM 中文文檔可訪問 →https://tvm.hyper.ai/ 作者&#xff1a;Lianmin Zheng 針對特定設備和工作負載的自動調優對于獲得最佳性能至關重要。本文介紹如何使用 auto-sched…

postgresql postgis擴展相關

項目 下載地址 http://rpmfind.net/linux/rpm2html/search.php?queryprotobuf(x86-64) Postgis Index of /postgis/source/ proj4 Index of /proj/ geos Index of /geos/ libxml2 ftp://xmlsoft.org/libxml2/ Index of /sources Json-c Releases json-c/json-c G…

解鎖健康密碼,擁抱養生生活

在快節奏的現代生活中&#xff0c;健康養生愈發重要&#xff0c;它是我們保持活力、預防疾病、享受美好生活的關鍵。那究竟如何開啟健康養生之旅呢&#xff1f; 合理飲食是養生基石。遵循 “食物多樣&#xff0c;谷類為主” 原則&#xff0c;每日攝入谷薯類、蔬菜水果、畜禽魚蛋…

JavaWeb中的cookie使用

Cookie 1、Cookie是服務端向客戶端響應的一小段數據&#xff0c;最終存放在客戶端中&#xff1b;之后客戶端每次向服務端發送請求&#xff0c;都會在請求頭中攜帶cookie 2、cookie是有時效性的&#xff0c;默認是Session級別&#xff08;整個瀏覽器關閉才會消失&#xff0c;內存…

el-input實現金額輸入

需求&#xff1a;想要實現一個輸入金額的el-input&#xff0c;限制只能輸入數字和一個小數點。失焦數字轉千分位&#xff0c;聚焦轉為數字&#xff0c;超過最大值&#xff0c;紅字提示 效果圖 失焦 聚焦 報錯效果 // 組件limitDialog <template><el-dialog:visible.s…

AcWing 藍橋杯集訓·每日一題2025·密接牛追蹤2

密接牛追蹤2 農夫約翰有 N 頭奶牛排成一排&#xff0c;從左到右依次編號為 1~N。 不幸的是&#xff0c;有一種傳染病正在蔓延。 最開始時&#xff0c;只有一部分奶牛受到感染。 每經過一個晚上&#xff0c;受感染的牛就會將病毒傳染給它左右兩側的牛&#xff08;如果有的話…

30 分鐘從零開始入門 CSS

HTML CSS JS 30分鐘從零開始入門拿下 HTML_html教程-CSDN博客 30 分鐘從零開始入門 CSS-CSDN博客 JavaScript 指南&#xff1a;從入門到實戰開發-CSDN博客 前言 最近也是在復習&#xff0c;把之前沒寫的博客補起來&#xff0c;之前給大家介紹了 html&#xff0c;現在是 CSS 咯…

LabVIEW圖像識別抗干擾分析

問題描述 在基于LabVIEW的探針定位系統中&#xff0c;存在兩個核心技術難點&#xff1a; 相機畸變導致初始定位誤差&#xff1a;非線性畸變使探針無法通過坐標變換直接精確定位&#xff0c;需采用粗定位圖像修正的兩段式控制策略。 圖像識別可靠性不足&#xff1a;復雜背景&a…

淺顯易懂HashMap的數據結構

HashMap 就像一個大倉庫&#xff0c;里面有很多小柜子&#xff08;數組&#xff09;&#xff0c;每個小柜子可以掛一串鏈條&#xff08;鏈表&#xff09;&#xff0c;鏈條太長的時候會變成更高級的架子&#xff08;紅黑樹&#xff09;。下面用超簡單的例子解釋&#xff1a; ?壹…

drupal如何支持多語言

Drupal 支持多語言的功能強大&#xff0c;可以幫助網站實現多語言內容管理。以下是如何在 Drupal 中配置和啟用多語言支持的步驟&#xff1a; 1. 啟用多語言模塊 首先&#xff0c;您需要確保已啟用 Drupal 的相關模塊。這些模塊包括&#xff1a; Language&#xff08;語言&a…

【HarmonyOS Next】鴻蒙應用折疊屏設備適配方案

【HarmonyOS Next】鴻蒙應用折疊屏設備適配方案 一、前言 目前應用上架華為AGC平臺&#xff0c;都會被要求適配折疊屏設備。目前華為系列的折疊屏手機&#xff0c;有華為 Mate系列&#xff08;左右折疊&#xff0c;華為 Mate XT三折疊&#xff09;&#xff0c;華為Pocket 系列…

SE注意力機制詳解:從原理到應用,全面解析Squeeze-and-Excitation模塊

Squeeze-and-Excitation (SE) 模塊的原理與應用 1. 引言&#xff1a;注意力機制的意義 在深度學習領域&#xff0c;注意力機制&#xff08;Attention Mechanism&#xff09;通過模擬人類視覺的“聚焦”特性&#xff0c;賦予模型動態調整特征重要性的能力。傳統卷積神經網絡&a…