tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

Java

PDF
聚焦模式
字号
最后更新时间: 2026-03-06 18:48:23

概述

本文档介绍如何使用 Java 语言的 MySQL 驱动程序对 TDSQL Boundless 进行数据库操作,包括连接数据库、创建表、插入数据、更新数据和删除数据等基本操作。

Maven 驱动依赖

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>

基本操作示例


import java.sql.*;
import java.util.Scanner;

/**
* 简单的JDBC MySQL连接演示
*/
public class SimpleJDBCDemo {
// 数据库连接配置 - 请根据实际情况修改
private static final String DB_URL = "jdbc:mysql://tdsql_host:3306/test";
private static final String DB_USER = "tdsql_user";
private static final String DB_PASSWORD = "tdsql_password";
public static void main(String[] args) {
System.out.println("========================================");
System.out.println(" 简单JDBC MySQL连接演示");
System.out.println("========================================");
SimpleJDBCDemo demo = new SimpleJDBCDemo();
try {
// 1. 测试数据库连接
demo.testConnection();
// 2. 创建表
demo.createTable();
// 3. 演示CRUD操作
demo.runCRUDDemo();
} catch (Exception e) {
System.err.println("程序执行出错: " + e.getMessage());
e.printStackTrace();
}
System.out.println("========================================");
System.out.println("演示完成!");
System.out.println("========================================");
}
/**
* 测试数据库连接
*/
public void testConnection() {
System.out.println("\\n 测试数据库连接...");
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD)) {
System.out.println("数据库连接成功!");
System.out.println("数据库信息: " + conn.getMetaData().getDatabaseProductName() +
" " + conn.getMetaData().getDatabaseProductVersion());
} catch (SQLException e) {
System.err.println("数据库连接失败: " + e.getMessage());
throw new RuntimeException(e);
}
}
/**
* 创建用户表
*/
public void createTable() {
System.out.println("\\n 创建用户表...");
String sql = "CREATE TABLE IF NOT EXISTS users (" +
"id INT AUTO_INCREMENT PRIMARY KEY," +
"name VARCHAR(50) NOT NULL," +
"email VARCHAR(100) NOT NULL," +
"age INT," +
"created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP" +
")";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Statement stmt = conn.createStatement()) {
stmt.executeUpdate(sql);
System.out.println("用户表创建成功!");
} catch (SQLException e) {
System.err.println("创建表失败: " + e.getMessage());
throw new RuntimeException(e);
}
}
/**
* 运行CRUD操作演示
*/
public void runCRUDDemo() {
System.out.println("\\n 开始CRUD操作演示...");
// CREATE - 插入数据
System.out.println("\\n CREATE - 插入用户数据");
int userId1 = insertUser("张三", "zhangsan@example.com", 25);
int userId2 = insertUser("李四", "lisi@example.com", 30);
int userId3 = insertUser("王五", "wangwu@example.com", 28);
// READ - 查询数据
System.out.println("\\n READ - 查询用户数据");
queryUserById(userId1);
queryAllUsers();
// UPDATE - 更新数据
System.out.println("\\n UPDATE - 更新用户数据");
updateUser(userId2, "李四(已更新)", "lisi_new@example.com", 31);
queryUserById(userId2);
// DELETE - 删除数据
System.out.println("\\n DELETE - 删除用户数据");
deleteUser(userId3);
queryAllUsers();
// 统计数据
System.out.println("\\n 统计信息");
countUsers();
}
/**
* 插入用户 - CREATE
*/
public int insertUser(String name, String email, int age) {
String sql = "INSERT INTO users (name, email, age) VALUES (?, ?, ?)";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) {
// 设置参数 - 防止SQL注入
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setInt(3, age);
int affectedRows = pstmt.executeUpdate();
if (affectedRows > 0) {
// 获取生成的ID
try (ResultSet generatedKeys = pstmt.getGeneratedKeys()) {
if (generatedKeys.next()) {
int userId = generatedKeys.getInt(1);
System.out.println("✅ 用户插入成功 - ID: " + userId + ", 姓名: " + name);
return userId;
}
}
}
throw new SQLException("插入用户失败,未获取到生成的ID");
} catch (SQLException e) {
System.err.println(" 插入用户失败: " + e.getMessage());
throw new RuntimeException(e);
}
}
/**
* 根据ID查询用户 - READ
*/
public void queryUserById(int userId) {
String sql = "SELECT * FROM users WHERE id = ?";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, userId);
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
System.out.println("查询用户 ID " + userId + ":");
printUser(rs);
} else {
System.out.println("未找到ID为 " + userId + " 的用户");
}
}
} catch (SQLException e) {
System.err.println("查询用户失败: " + e.getMessage());
}
}
/**
* 查询所有用户 - READ
*/
public void queryAllUsers() {
String sql = "SELECT * FROM users ORDER BY id";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
System.out.println("所有用户列表:");
System.out.println("------------------------------------------------------------");
boolean hasUsers = false;
while (rs.next()) {
hasUsers = true;
printUser(rs);
System.out.println("------------------------------------------------------------");
}
if (!hasUsers) {
System.out.println("暂无用户数据");
}
} catch (SQLException e) {
System.err.println("查询所有用户失败: " + e.getMessage());
}
}
/**
* 更新用户 - UPDATE
*/
public void updateUser(int userId, String name, String email, int age) {
String sql = "UPDATE users SET name = ?, email = ?, age = ? WHERE id = ?";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setInt(3, age);
pstmt.setInt(4, userId);
int affectedRows = pstmt.executeUpdate();
if (affectedRows > 0) {
System.out.println("用户更新成功 - ID: " + userId + ", 新姓名: " + name);
} else {
System.out.println("更新失败,未找到ID为 " + userId + " 的用户");
}
} catch (SQLException e) {
System.err.println("更新用户失败: " + e.getMessage());
}
}
/**
* 删除用户 - DELETE
*/
public void deleteUser(int userId) {
String sql = "DELETE FROM users WHERE id = ?";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, userId);
int affectedRows = pstmt.executeUpdate();
if (affectedRows > 0) {
System.out.println("用户删除成功 - ID: " + userId);
} else {
System.out.println("删除失败,未找到ID为 " + userId + " 的用户");
}
} catch (SQLException e) {
System.err.println("删除用户失败: " + e.getMessage());
}
}
/**
* 统计用户数量
*/
public void countUsers() {
String sql = "SELECT COUNT(*) as total FROM users";
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
if (rs.next()) {
int total = rs.getInt("total");
System.out.println("用户总数: " + total);
}
} catch (SQLException e) {
System.err.println("统计用户失败: " + e.getMessage());
}
}
/**
* 打印用户信息
*/
private void printUser(ResultSet rs) throws SQLException {
System.out.printf("ID: %d | 姓名: %s | 邮箱: %s | 年龄: %d | 创建时间: %s%n",
rs.getInt("id"),
rs.getString("name"),
rs.getString("email"),
rs.getInt("age"),
rs.getTimestamp("created_at")
);
}
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈