首页 > 数据库 >mysql的jdbc连接java实现

mysql的jdbc连接java实现

时间:2024-06-13 10:56:59浏览次数:11  
标签:jdbc java String mysql SQLException sql import conn

在Java中使用JDBC连接MySQL数据库,你需要以下步骤:

  1. 确保你有MySQL JDBC驱动程序。如果没有,你可以添加依赖到你的项目中,例如使用Maven:
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>

  2.在Java代码中,使用DriverManager获取数据库连接。

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

public class MySQLJDBCExample {
    public static void main(String[] args) {
        // 数据库URL,用户名和密码
        String url = "jdbc:mysql://localhost:3306/yourDatabase";
        String user = "yourUsername";
        String password = "yourPassword";

        try {
            // 加载MySQL驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            
            // 建立连接
            Connection conn = DriverManager.getConnection(url, user, password);
            
            // 操作数据库...
            
            // 关闭连接
            conn.close();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

请替换yourDatabase, yourUsername, 和 yourPassword为你的实际数据库信息。

注意:出于安全考虑,最好使用属性文件或环境变量来管理数据库凭据,而不是硬编码在代码中。

 

使用JDBC操作MySQL数据库中的数据进行增删改查(CRUD:Create, Read, Update, Delete)的基本实现方式如下:

1. 创建连接

首先,你需要加载MySQL JDBC驱动并创建与数据库的连接。

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

public class MySQLConnection {
    private static final String URL = "jdbc:mysql://localhost:3306/yourDatabase";
    private static final String USER = "yourUsername";
    private static final String PASSWORD = "yourPassword";

    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
}

2. 查询(Read)

查询通常使用StatementPreparedStatement执行SQL查询语句,并通过ResultSet获取结果。

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ReadExample {
    public static void main(String[] args) {
        Connection conn = MySQLConnection.getConnection();
        if (conn != null) {
            try {
                String sql = "SELECT * FROM yourTable";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                ResultSet rs = pstmt.executeQuery();

                while (rs.next()) {
                    // 假设表中有id和name两个字段
                    int id = rs.getInt("id");
                    String name = rs.getString("name");
                    System.out.println("ID: " + id + ", Name: " + name);
                }

                rs.close();
                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

3. 插入(Create)

插入操作通常使用PreparedStatement执行SQL插入语句。

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class CreateExample {
    public static void main(String[] args) {
        Connection conn = MySQLConnection.getConnection();
        if (conn != null) {
            try {
                String sql = "INSERT INTO yourTable (name) VALUES (?)";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, "NewName"); // 设置占位符的值
                int rowsInserted = pstmt.executeUpdate();
                System.out.println(rowsInserted + " row inserted.");

                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

4. 更新(Update)

更新操作也是使用PreparedStatement执行SQL更新语句。

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class UpdateExample {
    public static void main(String[] args) {
        Connection conn = MySQLConnection.getConnection();
        if (conn != null) {
            try {
                String sql = "UPDATE yourTable SET name = ? WHERE id = ?";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, "UpdatedName"); // 设置第一个占位符的值
                pstmt.setInt(2, 1); // 设置第二个占位符的值
                int rowsUpdated = pstmt.executeUpdate();
                System.out.println(rowsUpdated + " row updated.");

                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

5. 删除(Delete)

删除操作也是使用PreparedStatement执行SQL更新语句。

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class UpdateExample {
    public static void main(String[] args) {
        Connection conn = MySQLConnection.getConnection();
        if (conn != null) {
            try {
                String sql = "delete from yourTable where id = ?";
                PreparedStatement pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, "id值"); // 设置第一个占位符的值
                int rowsDeleted = pstmt.executeUpdate();
                System.out.println(rowsDeleted + " row deleted successfully.");

                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

 

标签:jdbc,java,String,mysql,SQLException,sql,import,conn
From: https://www.cnblogs.com/shuilangyizu/p/18245415

相关文章