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 + '\'' +
                '}';
    }
}

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

相关推荐
偷光20 分钟前
浏览器中的隐藏IDE: Elements (元素) 面板
开发语言·前端·ide·php
DKPT24 分钟前
JVM栈溢出和堆溢出哪个先满?
java·开发语言·jvm·笔记·学习
m0_4750645024 分钟前
jvm双亲委派的含义
java·jvm
gopyer4 小时前
180课时吃透Go语言游戏后端开发6:Go语言的循环语句
开发语言·游戏·golang·循环语句
毕设源码-朱学姐5 小时前
【开题答辩全过程】以 爱心捐赠网站为例,包含答辩的问题和答案
java·eclipse
楼田莉子7 小时前
Qt开发学习——QtCreator深度介绍/程序运行/开发规范/对象树
开发语言·前端·c++·qt·学习
尘觉7 小时前
中秋节与 Spring Boot 的思考:一场开箱即用的团圆盛宴
java·spring boot·后端
摩羯座-185690305947 小时前
爬坑 10 年!京东店铺全量商品接口实战开发:从分页优化、SKU 关联到数据完整性闭环
linux·网络·数据库·windows·爬虫·python
Le1Yu7 小时前
2025-10-7学习笔记
java·笔记·学习
韩立学长7 小时前
【开题答辩实录分享】以《基于python的奶茶店分布数据分析与可视化》为例进行答辩实录分享
开发语言·python·数据分析