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();//耗资源,用完关掉
相关推荐
今天AI了吗1 分钟前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
互联网中的一颗神经元2 分钟前
01. Go 内存管理全景架构
java·jvm·golang
萧瑟余晖2 分钟前
Java深入解析篇三十四之分布式事务
java·开发语言·分布式
CAE虚拟与现实3 分钟前
源码注解 /class 注解 / 运行时注解三者生命周期
java·开发语言
互联网中的一颗神经元9 分钟前
02. 核心概念与术语表
java·jvm·spring
January120715 分钟前
Cassandra CQL 基本命令详解
java
Escalating_xu30 分钟前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
Lam Tang30 分钟前
APS 系列文章 09
java·代理模式
2603_9664372644 分钟前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
evans在进步1 小时前
LeetCode 198:打家劫舍——Java 动态规划详解
java·leetcode·动态规划