欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA使用JDBC连接MySQL数据库操作

程序员文章站 2024-03-22 16:44:17
...

JDBC简介

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 —— 摘自 百度百科


工具

  • IntelliJ IDEA Ultimate
  • MySQL5.7
  • mysql-connector-java-5.1.46-bin.jar 点击下载

设计数据库表

建立一张数据表,来为等会的操作做准备
建表语句如下:


CREATE TABLE stu
(
    id INT PRIMARY KEY ,
    NAME VARCHAR(20),
    sex VARCHAR(2),
    age INT
);

INSERT INTO stu VALUES(1,'张三', '男', 16);
INSERT INTO stu VALUES(5,'李四', '男', 18);
INSERT INTO stu VALUES(17,'小美', '女', 17);
INSERT INTO stu VALUES(21,'王五', '男', 20);
INSERT INTO stu VALUES(9,'萌萌', '女', 15);

当然也可以使用可视化界面NaviSQL来输入数据,如下图所示
JAVA使用JDBC连接MySQL数据库操作


代码实现

数据库名: study
表名: stu
端口号: 3306
用户名: root
密码: 1234

工程目录
JAVA使用JDBC连接MySQL数据库操作

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

public class JdbcDemo {
      public static void main(String[] args) throws Exception {
        //注册连接
        Class.forName("com.mysql.jdbc.Driver");

        //获取连接
        /*
        * jdbc url编写方式jdbc:mysql://主机名:连接端口/数据库名
        * 当然还可以在数据库名后面加上  ?参数=值
        * useUnicode=true&characterEncoding=utf-8 解决中文乱码
        * */
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?useUnicode=true&characterEncoding=utf-8", "root", "1234");

        //编写sql语句
        String sql = "SELECT * FROM stu;";

        //创建语句执行者
        PreparedStatement st = conn.prepareStatement(sql);

        //执行语句
        ResultSet rs = st.executeQuery();

        //显示结果
        while (rs.next()) {
            System.out.println(rs.getString("id") + " --- " + rs.getString("NAME") + " --- "
                    + rs.getString("sex") + " --- " + rs.getString("age"));
        }

        //释放资源
        rs.close();
        st.close();
        conn.close();
    }
}

运行结果
JAVA使用JDBC连接MySQL数据库操作

当然也单独封装成为一个util文件夹下的一个工具类,方便后面操作的使用。

package com.csdn.util;

import java.sql.*;

public class JDBCutil {
    /*
    * 创建并返回连接
    * 
    * */
    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");

        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?useUnicode=true&characterEncoding=utf-8", "root", "1234");

        return conn;
    }

    /*
    * 释放资源
    * 
    * */
    public static void closeResource(Connection conn, Statement st, ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } else {
            //
            rs = null;
        }

        if (st != null) {
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } else {
            st = null;
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } else {
            conn = null;
        }
    }
}