Java使用JDBC操作数据库

1.创建一个数据库一会用来连接

2.使用idea新建一个Java项目

3.在pom文件中加上相关依赖,并配置Maven路径

XML 复制代码
<dependencies>
    <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>8.0.29</version>
    </dependency>
</dependencies>

新建jdbcdemo包和其中的类

java 复制代码
package com.qcby.jdbcdemo;

import com.mysql.jdbc.Driver;

import java.sql.*;

public class JdbcDemo {
    //主方法 主函数 程序入口
    public static void main(String[] args) {
        ResultSet resultSet = null;
        Statement statement = null;
        Connection connection = null;

        try {
            //1,加载驱动    2种  反射加载    直接加载
            //Class.forName("com.mysql.jdbc.Driver");
            DriverManager.registerDriver(new Driver());
            //2,获取连接    4个  用户名 密码  url
            //jdbc:mysql://localhost:3306/test  主协议 二层协议    mysql   IP地址    端口号     127.0.0.1:3306
            connection = DriverManager.getConnection("jdbc:mysql:///jdbctest","root","123456");
            //3,编写sql
            String sql = "select * from student";
            //4,获取执行sql的对象  2种  不安全 sql注入问题 preparedStatement
            statement = connection.createStatement();
            //5,执行sql   拿到结果集
            resultSet = statement.executeQuery(sql);
            //6,遍历结果集
            while (resultSet.next()){
                Student student = new Student();
                student.setId(resultSet.getInt("id"));
                student.setName(resultSet.getString("name"));
                student.setAge(resultSet.getInt("age"));
                student.setSex(resultSet.getString("sex"));
                System.out.println(student);
            }
        }catch (Exception e) {
            throw new RuntimeException(e);
        }finally {
            //永远执行
            //7,关闭资源
            try {
                resultSet.close();
                statement.close();
                connection.close();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    }
}
java 复制代码
package com.qcby.jdbcdemo;

public class Student {
    private Integer id;
    private String name;
    private Integer age;
    private String sex;

    public Student() {

    }

    public Student(Integer id, String name, Integer age, String sex) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}

然后运行,就可以从数据库中读取数据了

相关推荐
阿里嘎多学长1 分钟前
2026-05-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
JAVA社区1 分钟前
Java进阶全套教程(三)—— Spring框架核心精讲
java·开发语言·spring·面试·职场和发展·mybatis
彭于晏Yan14 分钟前
OkHttp 与 RestTemplate 技术选型对比
java·spring boot·后端·okhttp
jzlhll12315 分钟前
Kotlin 协程高级用法之 NonCancellable
android·开发语言·kotlin
金銀銅鐵24 分钟前
[Java] 如何理解 class 文件中字段的 descriptor?
java·后端
钝挫力PROGRAMER27 分钟前
实战经验:如何修复 MariaDB 因 InnoDB 损坏导致的启动失败 (status=6/ABRT)
数据库·mariadb
我是一颗柠檬27 分钟前
【MySQL全面教学】MySQL基础与环境搭建Day1(2026年)
数据库·后端·sql·mysql·database
我是一颗柠檬28 分钟前
【MySQL全面教学】MySQL数据类型详解Day2(2026年)
数据库·后端·sql·mysql·database
5008428 分钟前
Graph Engine 是什么,为什么需要它
java·人工智能·性能优化·ocr·wpf
我是唐青枫28 分钟前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
开发语言·c#·.net