在 Ubuntu 22.04 x64 系统安装/卸载 1Panel 面板
一、 1Panel 是什么?
1Panel 是一款基于 Go 语言开发的现代化开源服务器管理面板(类似宝塔面板),专注于容器化(Docker)和云原生环境管理,提供可视化界面简化服务器运维操作。
1. 1Panel主要功能
(1)核心功能
- 服务器监控:实时查看 CPU、内存、磁盘、网络等资源使用情况。
- 应用管理:一键部署 WordPress、MySQL、Redis、Nginx 等常见应用(通过 Docker)。
- 网站管理:支持 PHP 站点、静态网站、反向代理配置。
- 数据库管理:MySQL、PostgreSQL 的创建、备份、优化。
- 文件管理:可视化操作服务器文件(上传/下载/编辑)。
- 防火墙管理:图形化配置 UFW 或 firewalld 规则。
(2)特色功能
- 容器化支持:深度集成 Docker,可管理容器、镜像、Compose 项目。
- 备份与恢复:支持应用、数据库、文件的定时备份(本地或云存储)。
- SSL 证书:自动申请和续签 Let’s Encrypt 免费 HTTPS 证书。
- 命令行终端:内置 WebShell,无需额外 SSH 工具。
- 多用户协作:支持角色权限分配(管理员、普通用户)。
2. 核心特点
优点
- 轻量化:资源占用低(相比传统面板如宝塔),适合小内存服务器。
- 安全性:
- 默认使用 非 root 用户 运行 Docker 容器。
- 支持自动防火墙规则和 HTTPS 加密。
- 开源免费:代码透明,无隐藏收费功能(企业版提供额外支持)。
- 云原生友好:天然适配 Kubernetes、Docker Swarm 等编排工具。
- 跨平台:支持 Linux(Ubuntu/CentOS/Debian 等)和 macOS。
缺点
- 生态局限:插件市场不如宝塔丰富(但满足基础需求)。
- 中文文档不全:部分功能依赖社区或自行探索。
- 不适合传统环境:若需直接管理 Apache/Nginx 配置文件,不如宝塔直观。
3. 适用场景
👍 推荐使用
- 个人开发者:快速搭建博客(WordPress)、测试环境。
- 小型企业:管理少量服务器,注重安全性和容器化。
- 云原生项目:需要 Docker/K8s 集成的场景。
- 轻量运维:希望减少命令行操作,但不想用重型面板。
👎 不推荐使用
- 传统虚拟主机:需直接修改 Apache/Nginx 配置(如 .htaccess)。
- Windows 服务器:仅支持 Linux/macOS。
- 超大规模集群:企业级集群建议用专业工具(如 Rancher)。
- 纯 PHP 老旧项目:非容器化架构可能适配困难。
最近趁着非凡云开业活动,找代理商低价入了一台2C4G 9929精品线路的云服务器,来玩一玩1panel+WordPress,先来安装1panel。
二、安装1panel
1. 准备工作
- 非凡云2C4G云服务器
- 非凡云预安装的 Ubuntu 22.04 x64 系统
- 域名(可选) (如需 HTTPS 访问)域名注册到备案
2. 在Ubuntu 22.04 x64系统中安装 1Panel
(1)执行安装脚本
# 下载并运行安装脚本(默认安装到 /opt/1panel)
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
-
选择一个适合的语言
-
填写一个路径或者直接回车默认路径
-
等待安装docker
-
docker安装成功,开始设置端口、面板入口、面板登录用户名、面板登录密码
-
1panel安装完成
-
安装完成后,会输出 访问地址 和 初始用户名/密码(默认
http://服务器IP:设置的端口
,如http://1.2.3.4:12345
)
(2)放行防火墙端口
# 如果使用 UFW
sudo ufw allow 80,443,设置的端口/tcp # 80/443 给 WordPress,设置的端口 是 安装1Panel 时设置的端口
sudo ufw enable
- 进入非凡云控制台-安全组-设置入站规则
(3)登录 1Panel
- 浏览器访问 上面的外部地址,输入设置的账号密码登录。
三、卸载1Panel
1. 停止并卸载 1Panel 服务
# 停止 1Panel 服务
sudo systemctl stop 1panel# 禁用开机自启
sudo systemctl disable 1panel# 删除 1Panel 主程序
sudo rm -rf /usr/local/bin/1panel# 删除 systemd 服务文件
sudo rm -f /etc/systemd/system/1panel.service
sudo systemctl daemon-reload
2. 删除 1Panel 数据目录
默认数据目录为 /opt/1panel
,包含所有配置、数据库和备份文件:
sudo rm -rf /opt/1panel
3. 清理依赖项(可选)
(1)删除 Docker(如果不再需要)
# 卸载 Docker 及相关容器
sudo apt-get purge docker-ce docker-ce-cli containerd.io -y # Ubuntu/Debian
sudo yum remove docker-ce docker-ce-cli containerd.io -y # CentOS# 删除 Docker 数据(谨慎操作!会删除所有容器和镜像)
sudo rm -rf /var/lib/docker
(2)删除防火墙规则(如果由 1Panel 自动配置)
# 查看并删除 1Panel 相关规则(替换为你的实际端口)
sudo ufw delete allow 80/tcp
sudo ufw delete allow 443/tcp
sudo ufw delete allow 12345/tcp # 设置的1Panel 端口
4. 验证卸载
(1) 检查 1Panel 服务状态
sudo systemctl status 1panel
- 预期结果:
Unit 1panel.service could not be found.
或Active: inactive (dead)
- 若服务仍存在:
sudo systemctl stop 1panel sudo systemctl disable 1panel sudo rm /etc/systemd/system/1panel.service sudo systemctl daemon-reload
(2) 确认进程是否终止
ps aux | grep '[1]panel' #精准过滤(排除 grep 自身)
- 预期结果:
无任何与1panel
相关的进程。 - 若存在残留进程:
sudo kill -9 <PID> # 替换 <PID> 为实际进程号,进程号为输出结果的第二列
(3) 检查 1Panel 相关目录
- 主程序及数据目录
ls /usr/local/bin/1panel # 主程序(应不存在)
ls /opt/1panel # 数据目录(应不存在)
- 若目录残留:
sudo rm -rf /usr/local/bin/1panel /opt/1panel
- 日志文件
ls /var/log/1panel* # 检查日志残留
- 清理日志:
sudo rm -rf /var/log/1panel*
(4) 验证端口释放
sudo netstat -tulnp | grep 1panel
# 或使用 ss 命令
sudo ss -tulnp | grep 1panel
- 预期结果:
无任何与1panel
相关的端口监听(默认端口如12345
)。 - 若端口被占用:
检查是否为其他服务占用,或重启系统释放。
(5) 验证依赖项
- 检查残留配置文件
ls /etc/1panel* # 旧版本可能遗留配置
- 清理配置:
sudo rm -rf /etc/1panel*
- 检查定时任务
sudo crontab -l | grep 1panel
- 删除相关任务:
sudo crontab -e # 手动删除对应行
通过以上步骤可确保 1Panel 完全卸载。如有异常,可结合日志 /var/log/1panel/1panel.log
(若存在)进一步排查。
总结
1Panel在非凡云上的安装很顺利,卸载也很快,其面板界面简洁便利,还自带应用商店,一键为云服务器安装软件、配置环境,自带防火墙、监控面板、网站管理面板,十分适合新手站长。
注意: 如果安装完成1Panel后,无法使用ssh连接云服务器,一般是1Panel控制台的防火墙没有放开22端口。
欢迎大家与我讨论云服务器的相关知识技术,一起学习进步,维护好自己的小天地。
相关文章:
在 Ubuntu 22.04 x64 系统安装/卸载 1Panel 面板
一、 1Panel 是什么? 1Panel 是一款基于 Go 语言开发的现代化开源服务器管理面板(类似宝塔面板),专注于容器化(Docker)和云原生环境管理,提供可视化界面简化服务器运维操作。 1. 1Panel主要功…...
dummy cli-tool ubuntu22.04使用
项目场景:dummy cli-tool ubuntu22.04使用 提示:这里简述项目相关背景:执行python3 run_shell.py时报错 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) …...
厚铜板的镀前处理差异:工艺参数与成本影响
在现代电子设备中,厚铜电路板因其优异的导电性能和良好的热管理能力而备受青睐。生产过程中,对铜层进行电镀加厚是一个关键步骤,它涉及到一系列复杂的化学和物理过程。在进行电镀之前,必须对电路板进行适当的准备工作,…...
【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十六章 多线程:从pthread到JMM的升维
一、并发编程的范式革命 1.1 C多线程的刀耕火种 C语言通过POSIX线程(pthread)实现并发,需要开发者直面底层细节: 典型pthread实现: #include <pthread.h> int counter 0; pthread_mutex_t lock PTHREAD…...
数据库学习笔记(十三)---存储过程
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇存储过程,下一篇是存储函数;虽然MYSQL命令很多,但是自…...
JWT(JSON Web Token)源码分析
Java - JWT的简单介绍和使用 Java JWT:原理、机制及案例示范 什么是JWT? 1.1 JWT的基本概念 JWT(JSON Web Token)是一种用于在各方之间传递JSON格式信息的紧凑、URL安全的令牌(Token)。JWT的主要作用是验…...
Vue 3 中通过 createApp 创建的 app 实例的所有核心方法,包含完整示例、使用说明及对比表格
以下是 Vue 3 中通过 createApp 创建的 app 实例的所有核心方法,包含完整示例、使用说明及对比表格: 1. app.component() 作用:注册全局组件 参数: name:组件名称(字符串)componentÿ…...
Hadoop 单机模式(Standalone Mode)部署与 WordCount 测试
通过本次实验,成功搭建了 Hadoop 单机环境并运行了基础 MapReduce 程序,为后续分布式计算学习奠定了基础。 掌握 Hadoop 单机模式的安装与配置方法。 熟悉 Hadoop 环境变量的配置及 Java 依赖管理。 使用 Hadoop 自带的 WordCount 示例程序进行简单的 …...
线段树合并与分解
合并 #include <bits/stdc.h> using namespace std; #define asd(i,a,b) for(int ia;i<b;i) #define int long long const int inf 0x3f3f3f3f, N 1e5 5, Z 1e5; int n, m, fa[N], o[N][25], dep[N], tot, root[N], ans[N]; vector<int> g[N]; struct node…...
驱动开发硬核特训 │ 深度解析 fixed regulator 驱动与 regulator_ops
一、引言:本次目标 本篇聚焦于: Regulator 子系统基础概念设备树节点与驱动代码的对应关系regulator_desc、regulator_ops、regulator_dev 的完整讲解驱动端的实际注册与管理流程 通过一个实际案例,系统掌握 regulator 子系统 的全貌。 二…...
Linux中的shell脚本练习
1.判断字符串是否为空 #!/usr/bin/bash while : #:默认值为真 do read -p "请输入你的密码: " a pass123456 if [ -z $a ];thenecho "您输入的密码不能为空"exit 1 elseif [ $a $pass ];thenecho "登录成功"breakelseecho "您的密码输入有…...
MySQL基础篇 | 1-数据库概述与MySQL安装
【MySQL基础篇-1】数据库概述与MySQL安装 1. 数据库概述2. MySQL环境搭建2.1. MySQL的四大版本2.2. 软件下载1. 数据库概述 MySQL官网网站:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/ SQL Server:SQL Server是微软开发的大型商业数据库。C#、.net等语言常使用,与wi…...
JVM 自动内存管理
一、运行时数据区域详解 Java 虚拟机在运行 Java 程序时,会将所管理的内存划分为多个不同的数据区域,各区域有着独特的用途、创建和销毁时间。 程序计数器:作为线程私有的较小内存空间,它是当前线程执行字节码的行号指示器。字节…...
InitializingBean接口和@PostConstruct-笔记
1. InitializingBean 简介 1.1 功能简介 InitializingBean 是 Spring 框架中的一个接口,用在 Bean 初始化后执行自定义逻辑。它提供了 afterPropertiesSet() 方法,该方法在以下时机被 Spring 容器自动调用: 属性注入完成后(即所…...
考研408-计算机组成原理冲刺考点(1-3章)
第一章 计算机系统概述 1.计算机核心 早期的冯诺依曼计算机是以运算器为中心的,而现在的计算机是以存储器为中心的 2.五大部件 3.汇编程序、编译程序、解释程序的辨析...
模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。 一、基础 1. 意图 定义一个操作中的算法骨架,将某些步骤延迟到…...
一文了解无人机系统
无人机系统,又称无人驾驶航空器系统(Remotely Piloted Aircraft System,RPAS),作为一个由无人机平台、遥控站、指令与控制数据链及其他部件构成的完整技术体系,其系统架构包含多个核心分系统。具体而言&…...
系统架构师2025年论文《论软件的设计模式》
论软件的设计模式 摘要: 2016 年,我所在的公司承担了某市医院预约挂号系统的研发任务。我作为公司的技术总监,希望能打造基于该系统的系列产品,参与到项目的设计中,以期开发扩展性和可维护性良好的预约挂号系统,为以后的产品开发打下基础。网络靶场是网络安全技术研究的…...
集成电路流片随笔19:full_handshake
全双工握手接收模块 (full_handshake_rx),它的功能是接收来自发送端 (tx) 的数据,并对发送端进行应答(ACK)。模块实现了基于握手的通信机制,以确保数据的可靠传输。模块的输入输出分别连接于发送端和接收端,…...
Android Framework 探秘
以下文字来源AI,准确性不敢保证! 安卓Framework层概述 安卓的 Framework(框架层) 是安卓系统的核心组成部分,位于应用层和系统底层(如Linux内核)之间,负责为应用提供统一的接口和功…...
亚马逊云科技2025战略解析:AI驱动下的全球生态重塑
一、战略转向:从“云优先”到“AI优先”的核心逻辑 1. 千亿美元资本投入AI基建 芯片自研突破:2025年资本支出70%投向AI芯片与液冷数据中心。自研芯片矩阵全面升级,包括3纳米工艺的Trainium3(算力提升4倍)、单核性能…...
NGINX ngx_http_addition_module 模块响应体前后注入内容
一、模块概述 模块名称:ngx_http_addition_module引入版本:自 0.7.9 起支持 addition_types,0.8.29 起支持“*”通配;功能:对符合 MIME 类型的响应,在响应体前后分别插入指定子请求 URI 返回的内容&#x…...
SpringMVC 使用thymeleaf 进行数据展示
thymeleaf 是前端的视图解析器,可以用于html页面上变量的渲染,如何来使用thymeleaf,下面我们来说一下: 首先引入相关的依赖: <dependency><groupId>org.thymeleaf</groupId><artifactId>thym…...
Github两种鉴权模式PAT与SSH
Github两种鉴权模式PAT与SSH 文章目录 Github两种鉴权模式PAT与SSH1. PAT鉴权2. SSH鉴权3.两种鉴权的切换 1. PAT鉴权 通过 HTTPS 协议克隆和推送代码,使用用户名/密码或个人访问令牌(PAT)鉴权,所以PAT是与HTTPS协议相关的。该鉴…...
XrayR启动失败
公司要用服务器之间进行数据加密,这里用的XrayR 我使用的Centos 7。 我这里使用一键脚本安装后,/etc/XrayR目录下没有配置文件。 解决方案 XrayR安装时,系统没有unzip工具,也是会安装失败的,因为Centos7已经停止维…...
FPGA-数字时钟
FPGA-数字时钟 总体设计 用FPGA驱动数码管按照HH-MM-SS的格式显示时间,每秒用串口向上位机发送当前时间,当串口收到HH:MM:SS,对时间进行校准。由于年月要考虑到大小月,闰年等。为了简单起见,只考虑时分秒。 数码管…...
数据结构 RBT 插入操作的 Python 代码实现
目录 一、红黑树的性质二、红黑树的插入1. 插入根节点或根节点变红2. 双亲节点 P 为黑色3. 双亲结点 P 和叔伯结点 U 均为红色4. 双亲结点 P 为红色,叔伯结点 U 为黑色或缺失1)情形一2)情形二 三、插入的 Python 代码实现 红黑树动画演示网站…...
颖儿生活提案:用海信璀璨505U6真空冰箱重建都市鲜食自由
热播剧《六姊妹》中,演员颖儿饰演的何家艺以泼辣坚韧的形象深入人心,一双手撑起家庭的"烟火气";戏外,她平衡事业与家庭,以自律姿态书写鲜活人生。 近日,颖儿向公众展示家中厨房,意外…...
JQuery 使用技巧
文章目录 隐藏/显示淡入淡出滑动追加新元素删除元素/内容设置 CSS 样式尺寸遍历Ajax根据 input 控件中的值 实时改变另一个值 $()是jQuery()的简写getElementByTagName();如: $(“div”)getElementByTagName(“div”); $()的作用是用于查找出 HTML 的标签、属性、样…...
光流法:从传统方法到深度学习方法
1 光流法简介 光流(Optical Flow)是指图像中像素灰度值随时间的变化而产生的运动场。 简单来说,它描述了图像中每个像素点的运动速度和方向。 光流法是一种通过分析图像序列中像素灰度值来计算光流的方法。对于图像数据计算出来的光流是一个二…...
如何选择合适的RFID手持终端设备?
一、明确核心需求,锁定关键参数 选购RFID手持终端的首要任务是明确应用场景的核心需求。若用于仓储物流或零售盘点,推荐选择上海岳冉超高频RFID手持终端设备,支持1-20米远距离批量读取;若用于医疗耗材或图书管理,岳冉高…...
Axios 传参与 Spring Boot 接收参数完全指南
Axios 传参与 Spring Boot 接收参数完全指南 本文详细说明前端 Axios 传参与后端 Spring Boot 接收参数的各类场景,包括 GET/POST/PUT/DELETE 请求、路径参数/查询参数/请求体参数 的传递方式,以及如何接收 List、Map 等复杂类型。通过代码示例和对比表…...
NdrpPointerUnmarshallInternal函数分析之pStubMsg--pAllocAllNodesContext的由来
第一部分: // // Check if this is an allocate all nodes pointer AND that were // not already in an allocate all nodes context. // if ( ALLOCATE_ALL_NODES(pFormat[1]) && ! pStubMsg->pAllocAllNodesContext …...
人脑、深思考大模型与其他大模型的区别科普
文章目录 大模型的基本概念与特点深思考大模型的独特之处深思考大模型与其他大模型的对比架构与技术训练数据应用场景提示词编写 大模型给出答案的方式:基于概率还是真的会分析问题?人脑的思考过程基本单位与网络大脑结构与功能分区信息处理流程思维模式…...
Unity-粒子系统:萤火虫粒子特效效果及参数
萤火虫特效由两部分组成。萤火虫粒子底色粒子面片。萤火虫的旋转飞动主要由 Noise参数和Color over Lifetime模块控制。 贴图:中间实周边虚的圆,可随意自行制作 Shader:Universal Render Pipeline/2D/Sprite-Lit-Default 以下是粒子详细参…...
Java垃圾收集器与内存分配策略深度解析
在 Java 与 C 的世界里,内存动态分配与垃圾收集技术仿佛筑起了一道高墙。墙外的人渴望进入,享受自动内存管理的便利;而墙内的人却试图突破,追求更高的性能与控制力。今天,就让我们深入探讨 Java 的垃圾收集器与内存分配…...
优化MySQL性能:主从复制与读写分离实践指南
目录 一、知识介绍 1.MySQL主从复制原理 2.MySQL读写分离原理 二、资源清单 三、案例实施 1.修改主机名 2.搭建MySQL主从复制 3.搭建MySQL读写分离 一、知识介绍 1.MySQL主从复制原理 MySQL支持的复制类型 基于语句的复制基于行的复制混合模型复制 工作过程 主&#…...
Foupk3systemX5OS系统产品设备
Foupk3systemX5OS TXW8(基于Foupk3systemX5OS系统19.62正式版开发的智能移动设备由Foupk3systemX5OS系统与FOUPK3云服务平台共同自主研发) Foupk3systemX5OS TX6(Foupk3systemX5OS TX6基于Foupk3systemX5OS系统19.60正式版开发的智能平板设备…...
【计网】认识跨域,及其在go中通过注册CORS中间件解决跨域方案,go-zero、gin
一、跨域(CORS)是什么? 跨域,指的是浏览器出于安全限制,前端页面在访问不同源(协议、域名、端口任一不同)的后端接口时,会被浏览器拦截。 比如: 前端地址后端接口地址是…...
关于 【Spring Boot Configuration Annotation Processor 未配置问题】 的详细分析、解决方案及代码示例
以下是关于 Spring Boot Configuration Annotation Processor 未配置问题 的详细分析、解决方案及代码示例: 1. 问题描述 当使用 Spring Boot 的配置注解(如 ConfigurationProperties、Value、ConditionalOnProperty 等)时,若未…...
MySQL 的ANALYZE与 OPTIMIZE命令
MySQL 的ANALYZE与 OPTIMIZE命令 一、ANALYZE TABLE - 更新统计信息 1. 基本语法与功能 ANALYZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ...作用:收集表统计信息用于优化器生成更优的执行计划,主要更新: 索引基数&am…...
【机器学习】人工智能在电力电子领域的应用
摘要: 本文概述了电力电子系统的人工智能 (AI) 应用。设计、控制和维护这三个独特的生命周期阶段与人工智能要解决的一项或多项任务相关,包括优化、分类、回归和数据结构探索。讨论了专家系统、模糊逻辑、元启发法和机器学习四类人工智能的应用。我们对…...
InferType和_checked_type的区别?
在 TVM 的 Relay IR 中,relay.frontend.common.infer_shape(node) 和 node.checked_type.shape 都与**形状(Shape)**信息相关,但它们的用途、实现机制和性能特点有显著区别。以下是详细对比: 1. 功能区别 特性node.ch…...
Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理
Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理 目录 Flutter 学习之旅 之 flutter 作为 module ,在 Android 端主动唤起 Flutter 开发的界面 简单的整理 一、简单介绍 二、Android 端唤起 Flutter …...
vue3 css模拟语音通话不同语音、正在加载等的效果
实现效果如下: 在不同的时间,显示不一样的效果(大小是一样的,截图时尺寸发生了变化) 具体实现代码如下: <script setup> import {ref} from "vue";const max_hight ref(40px) const min…...
【Machine Learning Q and AI 读书笔记】- 01 嵌入、潜空间和表征
Machine Learning Q and AI 中文译名 大模型技术30讲,主要总结了大模型相关的技术要点,结合学术和工程化,对LLM从业者来说,是一份非常好的学习实践技术地图. 本文是Machine Learning Q and AI 读书笔记的第1篇,对应原…...
[Agent]AI Agent入门02——ReAct 基本理论与实战
ReAct介绍 ReAct(Reasoning and Acting)是一种通过协同推理(Reasoning)与行动(Acting)提升大语言模型(LLM)任务解决能力的技术。其核心思想是在解决复杂问题时交替生成推理和动作&a…...
uniapp自定义头部(兼容微信小程序(胶囊和状态栏),兼容h5)
很早之前就写过自定义头部,但是那时偷懒写死了,现在用插槽重新写了个 有两种形式: type1是完全自定义的,可以自己去组件改也可以用插槽改 type2是正常的返回标题和右边按钮,使用就是 title"标题" rightClic…...
mybatis的xml ${item}总是更新失败
场景 代码如下 void updateStatus(Param("deviceSerialIdCollection") Collection<String> deviceSerialIdCollection, Param("status") Integer status);<update id"updateStatus">UPDATE gb_monitor SET online#{status} WHERE d…...
数据库- JDBC
标题目录 JDBC基本概念JDBC 接口JDBC 工作原理 JDBC APIJDBC工作过程Driver 接口及驱动加载Connection 接口Statemen 接口ResultSet 接口PreparedStatement 接口 JDBC 基本概念 Java Database Connectivity:java访问数据库的解决方案希望用相同的方式访问不同的数…...