当前位置:首页 > Java

java如何调用mysql数据

2026-03-03 14:15:14Java

使用JDBC连接MySQL数据库

确保已安装MySQL JDBC驱动(如mysql-connector-java),并将其添加到项目依赖中。以下是基本连接代码示例:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySQLConnection {
    private static final String URL = "jdbc:mysql://localhost:3306/数据库名";
    private static final String USER = "用户名";
    private static final String PASSWORD = "密码";

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }
}

执行SQL查询操作

通过Statement或PreparedStatement执行查询,推荐使用预编译防止SQL注入:

import java.sql.*;

public class QueryExample {
    public static void main(String[] args) {
        String sql = "SELECT * FROM 表名 WHERE 条件字段 = ?";

        try (Connection conn = MySQLConnection.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(sql)) {

            pstmt.setString(1, "参数值"); // 设置参数
            ResultSet rs = pstmt.executeQuery();

            while (rs.next()) {
                System.out.println(rs.getString("字段名"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

执行增删改操作

对于INSERT/UPDATE/DELETE语句使用executeUpdate()方法:

try (Connection conn = MySQLConnection.getConnection();
     PreparedStatement pstmt = conn.prepareStatement(
         "INSERT INTO 表名(字段1,字段2) VALUES(?,?)")) {

    pstmt.setString(1, "值1");
    pstmt.setInt(2, 123);
    int affectedRows = pstmt.executeUpdate();
    System.out.println("影响行数: " + affectedRows);

} catch (SQLException e) {
    e.printStackTrace();
}

使用连接池优化性能

推荐使用HikariCP等连接池管理数据库连接:

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

public class ConnectionPool {
    private static HikariDataSource dataSource;

    static {
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名");
        config.setUsername("用户名");
        config.setPassword("密码");
        config.setMaximumPoolSize(10);
        dataSource = new HikariDataSource(config);
    }

    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }
}

处理事务

通过Connection对象控制事务:

try (Connection conn = MySQLConnection.getConnection()) {
    conn.setAutoCommit(false); // 关闭自动提交

    // 执行多个SQL操作
    updateAccount(conn, 100, "A");
    updateAccount(conn, -100, "B");

    conn.commit(); // 提交事务
} catch (SQLException e) {
    conn.rollback(); // 回滚事务
    e.printStackTrace();
}

使用ORM框架简化操作

推荐MyBatis或Hibernate等框架:

// MyBatis示例
SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    .build(Resources.getResourceAsStream("mybatis-config.xml"));

try (SqlSession session = factory.openSession()) {
    UserMapper mapper = session.getMapper(UserMapper.class);
    User user = mapper.selectUserById(1);
    System.out.println(user.getName());
}

java如何调用mysql数据

标签: 数据java
分享给朋友:

相关文章

vue实现数据删除

vue实现数据删除

vue实现数据删除的方法 使用v-for和v-on指令 在Vue中可以通过v-for指令渲染列表数据,结合v-on指令监听删除事件。定义一个方法处理删除逻辑,通常使用splice方法从数组中移除指定项…

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

vue实现数据

vue实现数据

Vue 数据绑定与状态管理 在 Vue 中,数据绑定和状态管理是核心功能,主要通过响应式系统、组件通信和状态管理库实现。 响应式数据绑定 Vue 使用 data 选项声明响应式数据,数据变更会自动…

uniapp 数据

uniapp 数据

uniapp 数据管理方法 本地存储 使用 uni.setStorageSync 和 uni.getStorageSync 进行本地数据持久化存储。适合保存用户偏好设置或小型数据。 // 存储数…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.t…

java如何上传文件

java如何上传文件

使用HttpURLConnection上传文件 在Java中,可以通过HttpURLConnection实现文件上传功能。需要设置请求头为multipart/form-data,并构建包含文件数据的请…