当前位置: 首页 > news >正文

Linux CentOS环境下Java连接MySQL数据库指南


文章目录

  • 前言
  • 一、环境准备
    • 1.1 系统更新
    • 1.2 Java环境安装
    • 1.3 MySQL数据库安装
    • 1.4 下载JDBC驱动
  • 二、编写Java程序
    • 2.1 代码如下
    • 2.2 编译和运行
    • 2.3 验证创建结果
  • 三、代码上传至Gitee
    • 3.1 安装配置Git
    • 3.2 克隆仓库到本地
    • 3.3 添加Java项目文件
    • 3.4 提交代码到本地仓库
    • 3.5 推送到Gitee远程仓库


前言

本文将详细介绍在CentOS系统上从零开始搭建Java开发环境,安装配置MySQL数据库,到最终编写并运行Java程序连接数据库的全过程。这是一个面向初学者的完整实践指南。(培训时的小作业,因不想在自己电脑上装java开发环境,特Linux测试)


一、环境准备

1.1 系统更新

# 安装必要工具
sudo yum update -y
sudo yum install -y wget vim git

1.2 Java环境安装

sudo yum install -y java-11-openjdk-devel
# 验证安装
java -version
# 设置JAVA_HOME
echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))" >> ~/.bashrc
source ~/.bashrc

1.3 MySQL数据库安装

方法 1:安装 MariaDB(推荐)
MariaDB 是 MySQL 的兼容替代品,CentOS Stream 9 官方仓库直接提供

# 1. 安装 MariaDB 服务器
sudo dnf install mariadb-server# 2. 启动服务并设置开机自启
sudo systemctl enable --now mariadb# 3. 安全初始化(设置 root 密码等)
sudo mysql_secure_installation

方法 2:安装官方 MySQL 8.0

# 1. 下载 MySQL 官方仓库包
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm# 2. 验证 GPG 密钥(如报错)
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 3. 禁用默认的 MySQL 模块(CentOS Stream 9 特有步骤)
sudo dnf module disable mysql# 4. 安装 MySQL 服务器
sudo dnf install mysql-community-server# 5. 启动服务
sudo systemctl enable --now mysqld# 6. 获取临时 root 密码
sudo grep 'temporary password' /var/log/mysqld.log# 7. 安全配置
sudo mysql_secure_installation# 检查版本
mysql --version# 登录 MySQL(使用设置的 root 密码)
mysql -u root -p#-- 创建用户并授权
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

1.4 下载JDBC驱动

# 创建项目目录
mkdir jdbc-project
cd jdbc-project# 下载MySQL JDBC驱动
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz# 解压并复制jar文件
tar -xzf mysql-connector-java-8.0.28.tar.gz
cp mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar .

二、编写Java程序

2.1 代码如下

import java.sql.*;public class CreateDatabaseAndTable {public static void main(String[] args) {// 第一步:连接到MySQL服务器(不指定具体数据库)String serverUrl = "jdbc:mysql://localhost:3306?useSSL=false&serverTimezone=Asia/Shanghai";String username = "jdbc_user";String password = "***@***";String databaseName = "xinghuo07";String tableName = "test07";try (Connection conn = DriverManager.getConnection(serverUrl, username, password);Statement stmt = conn.createStatement()) {// 1. 创建数据库stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS " + databaseName + " CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");System.out.println("数据库创建成功");// 2. 切换到新创建的数据库stmt.executeUpdate("USE " + databaseName);// 3. 创建表String createTableSql = "CREATE TABLE IF NOT EXISTS " + tableName + " (" +"id INT AUTO_INCREMENT PRIMARY KEY, " +"name VARCHAR(50) NOT NULL, " +"money DECIMAL(10,2) DEFAULT 0.00" +") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";stmt.executeUpdate(createTableSql);System.out.println("表创建成功");// 4. 插入测试数据String insertSql = "INSERT INTO " + tableName + " (name, money) VALUES " +"('张三', 1000.50), " +"('李四', 2000.75), " +"('王五', 3000.00)";stmt.executeUpdate(insertSql);System.out.println("测试数据插入成功");} catch (SQLException e) {System.err.println("数据库操作失败:");e.printStackTrace();// 特殊处理"未知数据库"错误if (e.getErrorCode() == 1049) { // 1049是"未知数据库"的错误代码System.err.println("\n提示:请确保先创建数据库或使用有权限创建数据库的用户");}}}
}

2.2 编译和运行

# 编译
javac -cp mysql-connector-java-8.0.28.jar CreateDatabaseAndTable.java# 运行
java -cp .:mysql-connector-java-8.0.28.jar CreateDatabaseAndTable

2.3 验证创建结果

#验证连接
mysql -u jdbc_user -p******** -e "SHOW DATABASES;"
#验证创建结果
mysql -u root -p****** -e "SHOW DATABASES; USE xinghuo07; SHOW TABLES; DESC test07; SELECT * FROM test07;"

在这里插入图片描述

三、代码上传至Gitee

3.1 安装配置Git

#安装Git
sudo yum install -y git
# 配置Git全局信息
git config --global user.name "lihui189"
git config --global user.email "您的邮箱@example.com"

3.2 克隆仓库到本地

在这里插入图片描述

git clone https://gitee.com/lihui189/JdbcTest.git
cd JdbcTest 

在这里插入图片描述

3.3 添加Java项目文件

在这里插入图片描述

# 创建src和lib目录(如果不存在)
mkdir -p src lib
# 移动Java文件到src目录
mv ../CreateDatabaseAndTable.java src/
# 移动MySQL驱动到lib目录
mv ../mysql-connector-java-8.0.28.jar lib/

创建README.md

cat > README.md <<EOF
# JDBC测试项目## 功能说明
- 使用JDBC连接MySQL数据库
- 演示事务操作
- 包含数据插入、更新和查询功能## 运行要求
- Java 11+
- MySQL 8.0+## 编译运行
\`\`\`bash
javac -cp lib/mysql-connector-java-8.0.28.jar src/CreateDatabaseAndTable.java
java -cp src:lib/mysql-connector-java-8.0.28.jar CreateDatabaseAndTable
\`\`\`
EOF

3.4 提交代码到本地仓库

cd JdbcTest
# 添加所有文件
git add .
# 提交更改
git commit -m "添加JDBC测试项目初始代码"
---

3.5 推送到Gitee远程仓库

git push origin master
#首次推送时需要输入Gitee账号密码:

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/264314.html

相关文章:

  • Golang的代码结构设计原则与实践与模式应用
  • 解码知识整理,使您的研究更高效!
  • Java项目:基于SSM框架实现的中学教学管理系统【ssm+B/S架构+源码+数据库+毕业论文+开题报告】
  • [创业之路-458]:企业经营层 - 蓝海战略 - 重构价值曲线、整合产业要素、创造新需求
  • 软件产品使用说明编写需要注意的内容避坑指南
  • Day 3:Python模块化、异常处理与包管理实战案例
  • 【每天一个知识点】均值偏移(Mean-Shift)
  • 智能客服革新:元智启 AI 如何重塑企业服务体验
  • ctfshow web89-web98(php特性篇)
  • 2023年全国硕士研究生招生考试英语(一)试题总结
  • 【Python基础】13 知识拓展:CPU、GPU与NPU的区别和联系
  • SAP ABAP 中 AMDP 简介及实现方法
  • 【Linux】进程创建——fork()函数深度解析
  • Linux->进程控制(精讲)
  • Ubuntu机器开启root用户远程登录
  • 口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项:
  • nanoGPT复现——prepare拆解(自己构建词表 VS tiktoken)
  • android实践:Bugly专业版Android SDK集成
  • Docker制作python环境
  • 提示技术系列——方向性刺激提示
  • Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
  • eNSP实验一:IPv4编址及IPv4路由基础
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的抖音渠道力拓展与多渠道利润增长研究
  • RESTful API 设计原则深度解析
  • STM32——代码开发顺序
  • WPF学习笔记(18)触发器Trigger
  • langchain从入门到精通(三十三)——RAG优化策略(九) MultiVector实现多向量检索文档
  • 原神八分屏角色展示页面(纯前端html,学习交流)
  • 《汇编语言:基于X86处理器》第6章 条件处理(1)
  • 每日八股文7.1