Java(JDBC)连接MySQL数据库

时间:2022-12-23 13:05:41

Java(JDBC)连接MySQL数据库
工具:
eclipse、MySQL 5.7
MySQL驱动程序文件 mysql-connector-java-5.1.8-bin.jar下载地址

步骤:
一、下载并安装MySQL,做好配置环境变量等准备工作

二、创建Java Project,鼠标选中项目工程,右键点击 Build Path,选择 Configure Build Path,会跳 出 一 个 属 性 框 图 。 选 择 Java Build Path 下 的 Libraries , 查 看 是 否 有mysql-connector-java-5.1.8-bin.jar。如果没有,点击Add External JARs,浏览到JDBC的MySQL驱动的 jar 包,点击确定,将其导入到项目中。
Java(JDBC)连接MySQL数据库

三、写加载驱动程序代码(如下)及信息管理系统的代码。

代码:

import java.sql.*;

public class DbProcess {
    // Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息
    Connection connection = null;
    // 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数据的更新等。 
    ResultSet rs = null; 

    // mysql数据库url, MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
    String userMySql = "root";
    String passwordMySql = "root";
    String urlMySql = "jdbc:mysql://localhost:3306/InfoDb?user=" + userMySql + "&password=" + passwordMySql
            + "&useUnicode=true&characterEncoding=UTF-8";

    // sqlserver数据库url
    // String urlSqlServer =
    // "jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=InfoDb";

    public DbProcess() {
        try {
            // mysql数据库设置驱动程序类型
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("mysql数据库驱动加载成功");

            // sqlserver数据库设置驱动程序类型
            // Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            // System.out.println("sqlserver数据库驱动加载成功");

        } catch (java.lang.ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void connect() {
        try {
            // mysql数据库
            connection = DriverManager.getConnection(urlMySql);

            // sqlserver数据库
            // connection = DriverManager.getConnection(urlSqlServer);

            if (connection != null) {
                System.out.println("数据库连接成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void disconnect() {
        try {
            if (connection != null) {
                connection.close();
                connection = null;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public ResultSet executeQuery(String sql) {
        try {
            System.out.println("executeQuery(). sql = " + sql);
            // prepareStatement(String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
            PreparedStatement pstm = connection.prepareStatement(sql);
            // 执行查询
            rs = pstm.executeQuery();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return rs;
    }

    // 插入
    // executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。
    // executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句
    // 以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。

    // 执行增、删、改语句的方法
    public int executeUpdate(String sql) {
        int count = 0;
        connect();
        try {
            Statement stmt = connection.createStatement();
            count = stmt.executeUpdate(sql);
        } catch (SQLException ex) {
            System.err.println(ex.getMessage());
        }
        disconnect();
        return count;
    }
}

参考:
Connection类,PreparedStatement类
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh