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

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

相关推荐
kylezhao201910 分钟前
C# 中的 SOLID 五大设计原则
开发语言·c#
全栈前端老曹15 分钟前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
程序员清风22 分钟前
北京回长沙了,简单谈谈感受!
java·后端·面试
神梦流29 分钟前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库
何中应31 分钟前
请求头设置没有生效
java·后端
让学习成为一种生活方式37 分钟前
trf v4.09.1 安装与使用--生信工具42-version2
数据库
凡人叶枫44 分钟前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
啦啦啦_99991 小时前
Redis-5-doFormatAsync()方法
数据库·redis·c#
亓才孓1 小时前
[JDBC]批处理
java
生产队队长1 小时前
Redis:Windows环境安装Redis,并将 Redis 进程注册为服务
数据库·redis·缓存