JDBC查询MySQL中的表

本文提供了一个使用Java进行SQL数据库查询的示例代码,展示了如何连接MySQL数据库、执行查询语句并处理查询结果。通过具体例子说明了如何获取表中的每一项数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据库test里先创建表school,内容如下

创建接口对象:
Statement stmt=con.createStatement(); //创建语句(Statement)
ResultSet res=stmt.executeQuery("selcet * from school"); //执行查询(execute query),结果集,以表school为例

ResultSet接口常用方法:
行:
next() 表格指针向下移动一行(初始在第一行上方,不指向任何一行)
first() 表格指针到第一行
last() 表格指针到最后一行
列:
getInt()
getDouble()
getString()
getObject() 等

定位列的方式:以getString为例
getString(String 列名) //用表头名来定位列
getString(int 第几列) //用列数来定位列,从1开始,而不是0

查询test库中school表的结果:

            

import java.sql.*;

public class Demo {
    public static void main(String[] args) {
        //定义为null,因为它们是数据流,之后要finally依次关闭
        Connection con = null;//连接接口
        Statement stmt = null;//语句接口
        ResultSet rs = null;//结果集接口
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
            String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false";
            con = DriverManager.getConnection(url, "root", "123456");//连接数据库test
            //System.out.println(con);//查看结果,确认是否连接成功
            stmt = con.createStatement();//创建语句(Statement)对象
            rs = stmt.executeQuery("select * from school;");//执行查询(execute query),表school后的分号可以不写。
            while (rs.next()) {//下一行
                int id = rs.getInt("id");//或1,第一列值
                String name = rs.getString(2);
                String sex = rs.getString(3);
                String birthday = rs.getString(4);
                System.out.println("编号=" + id + " 姓名=" + name + " 性别=" + sex + " 生日=" + birthday);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {//注意流的关闭顺序
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

 

转载于:https://www.cnblogs.com/xixixing/p/9678080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值