JDBC入门(一):Statement对象

4 篇文章 0 订阅

1.JDBC:
Java DataBase Connectivity,Java语言操作数据库
本质:官方定义的一套操作所有关系型数据库的规则即接口。各个数据库厂商实现这套接口,提供数据库驱动jar包。可以使用JDBC接口编程,真正执行的代码是驱动jar包中的实现类。
2.步骤:
导入驱动jar包;
注册驱动;
获取数据库连接对象Connection;
定义sql语句;
获取执行sql语句的对象Statement;
执行sql,接收返回结果;
处理结果;
释放连接。
3.详解对象:
DriverManger:驱动管理对象,负责注册驱动以及获取数据库连接;
Connection:数据库连接对象;
Statement:执行sql的对象;
ResultSet:结果集对象
4.方法:
executeUpdate(sql):执行增、删、改操作;
executeQuery(sql):执行查询操作;
resultSet.next():将指针移动到当前位置的下一行。ResultSet 指针的初始位置位于第一行之前;第一次调用next()方法将会把第一行设置为当前行;第二次调用next()方法指针移动到第二行,以此类推。

案例1:查询bookmanager数据库book_type表中第1条记录

public class jdbcDemo5 {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取数据库连接对象
            connection = DriverManager.getConnection("jdbc:mysql:///bookmanager", "root", "admin");
            //3.定义sql
            String sql = "select * from book_type";
            //4.获取执行sql语句对象
            statement = connection.createStatement();
            //5.执行sql
            resultSet = statement.executeQuery(sql);
            //6执行结果
            //6.1游标向下移动一行
            resultSet.next();
            //6.2获取数据
            int id = resultSet.getInt("id");
            String type_name = resultSet.getString("type_name");
            String remark = resultSet.getString("remark");
            System.out.println(id + "--" + type_name + "--" + remark);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //7.释放资源
            if(resultSet != null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(connection != null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

若要查询数据表的所有数据,则在while(resuleSet.next())循环内获取数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值