JDBC中的查询操作及底层

创建一个学生表

 我把整个过程非常详细的写出来了

一共分四步:1.注册驱动

2.得到连接

3.执行sql

4.关闭资源

public static void main(String[] args) throws ClassNotFoundException, SQLException {
        /**
         * 第一步:注册驱动
         * 通过反射就不用注册驱动
         * 底层的静态代码块已经帮我们注册了
         * static {
         *         try {
         *             DriverManager.registerDriver(new Driver());
         *         } catch (SQLException var1) {
         *             throw new RuntimeException("Can't register driver!");
         *         }
         *     }
         */
        Class.forName("com.mysql.jdbc.Driver");
        //第二部:获得连接
        /**
         * jdbc:mysql 规定好的协议
         * 127.0.0.1: 主机地址
         * 3306 mysql的端口
         * practice是我的其中一个数据库名,你们写的时候改成你们的数据库名
         * characterEncoding=utf8   字符是utf8规则
         * useSSL=false   不加密
         */
        String url="jdbc:mysql://127.0.0.1:3306/practice?characterEncoding=utf8&useSSL=false";
        String user="root";
        String password="350525";
        Connection connection = DriverManager.getConnection(url, user, password);
        //第三步:执行sql
        String sql="select * from student2";
        //statement 用于执行静态sql语句并返回其生成的结果的对象
        Statement statement = connection.createStatement();
        //执行给定的sql语句,该语句返回单个resultSet对象
        java.sql.ResultSet resultSet = statement.executeQuery(sql);
        //使用while取出数据
        while(resultSet.next()){//让光标下移,如果走完返回false
            int id = resultSet.getInt(1);//获取该行的第一列
            int sn = resultSet.getInt(2);//获取该行的第二列
            String name = resultSet.getString(3);
            int classes_id = resultSet.getInt(4);
            System.out.println(id+"\t"+sn+"\t"+name+"\t"+classes_id);
        }
        //第四步:关闭资源
        resultSet.close();
        statement.close();
        connection.close();
    }

  

通过反射不用注册驱动,因为底层帮你注册了

DriverManager.registerDriver(new Driver());

 ResultSet的底层

通过调试找到resultSet 

 再到里面找到rowDate

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指挥部在下面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值