idea实现Java连接MySQL数据库

1.下载MySQL并安装

首先如果没有mysql的需要先下载MySQL,可以看这个教程:

Mysql超详细安装配置教程(保姆级)_mysql安装及配置超详细教程-CSDN博客

2.下载mysql 的jdbc驱动

官网:MySQL :: Download Connector/J

解压并将驱动jar包导入idea ,

在Java项目中创建一个bin文件夹,然后把jar包Ctrl+C,V到bin文件夹

然后lib右键,点击Add as Library

3.编写第一个jdbc程序

案例代码

java 复制代码
package com.bing.lesson01;

import java.sql.*;

/**
 * @version: java version 1.8
 * @Author: BING
 * @description:
 * @date: 2023-12-31 10:32
 */
//我的第一个jdbc程序
public class JdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
        //2.用户信息和url
        String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&charcterEncoding=utf8&useSSL=true";
        String username = "root";
        String password = "123456";

        //3.连接成功,数据库对象
        Connection connection = DriverManager.getConnection(url,username,password);

        //4.执行SQL
        Statement statement = connection.createStatement();

        //5.执行SQL的对象去执行SQL,可能存在结果,查看返回结果
        String sql = "SELECT * FROM student1";

        //6.释放连接
        ResultSet resultSet = statement.executeQuery(sql);//返回的结果集,结果集中封装了我们全部查询出来的结果

        while (resultSet.next()){
            System.out.println("id=" + resultSet.getObject("id"));
            System.out.println("name=" + resultSet.getObject("name"));
            System.out.println("age1=" + resultSet.getObject("age1"));
            System.out.println("birthday=" + resultSet.getObject("birthday"));
            System.out.println("======================================");
        }

        resultSet.close();
        statement.close();
        connection.close();
    }
}

显示运行结果, 成功!

步骤总结:

1.加载驱动

2.连接数据库 DriverManager

3.获得执行sql的对象 Statement

4.获得返回的结果集

5.释放连接

4.JDBC中对象解释

1.DriverManager

java 复制代码
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动
Connection connection = DriverManager.getConnection(url,username,password);

// connection 代表数据库
// 数据库设置自动
// 提交事务
// 事务滚回

connection.rollback();
connection.commit();
connection.setAutoCommit();

2.URL

java 复制代码
String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&charcterEncoding=utf8&useSSL=true";

// mysq1 -- 3306
// 协议 ://主机地址:端口号/数据库名?参数1&参数2&参数3
// oralce -- 1521
//jdbc:oracle:thin:@localhost:1521:sid

3.Statement

Statement 执行SQL的对象 PrepareStatement执行SQL的对象

java 复制代码
String sql = "SELECT * FROM student1";

statement.executeQuery(); //查询操作返回 Resultset
statement.execute(); // 执行任何SQL
statement.executeUpdate(); // 更新、插入、删除。都是用这个,返回一个受影响的行数

4.ResultSet

ResultSet 查询的结果集,结果集中封装了我们全部查询出来的结果。

获取指定的数据类型:

java 复制代码
resultSet.getObject(); // 在不知道列类型的情况下使用
// 如果知道列的类型就使用指定的类型
resultSet.getString();
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate() ;
resultSet.getObject();
...

遍历、指针

java 复制代码
resultSet.beforeFirst(); // 移动到最前面
resultSet.afterLast();// 移动到最后面
resultSet.next(); //移动到下一个数据
resultSet.previous(); //移动到前一行
resultSet.absolute(row); //移动到指定行

5.释放资源

java 复制代码
resultSet.close();
statement.close();
connection.close();//耗资源,用完关掉
相关推荐
不知疲倦的仄仄12 小时前
第二天:深入理解 Selector:单线程高效管理多个 Channel
java·nio
期待のcode12 小时前
Java虚拟机栈
java·开发语言·jvm
珂朵莉MM12 小时前
全球校园人工智能算法精英大赛-产业命题赛-算法巅峰赛 2025年度画像
java·人工智能·算法·机器人
芒克芒克12 小时前
本地部署SpringBoot项目
java·spring boot·spring
cute_ming12 小时前
关于基于nodeMap重构DOM的最佳实践
java·javascript·重构
sww_102612 小时前
Netty原理分析
java·网络
小突突突13 小时前
Spring框架中的单例bean是线程安全的吗?
java·后端·spring
ChineHe13 小时前
Redis基础篇004_Redis Pipeline流水线详解
数据库·redis·缓存
西柚补习生13 小时前
通用 PWM 原理基础教学
数据库·mongodb
Mr.Entropy13 小时前
JdbcTemplate 性能好,但 Hibernate 生产力高。 如何选择?
java·后端·hibernate