JDBC各功能类简介

3 篇文章 0 订阅

DriverManager

  • 注册驱动,用于管理一组JDBC驱动程序的基本服务。
  • 在代码中常用下列格式来注册驱动

Class.forName(“com.mysql.jdbc.Driver”);

注意:mysql5之后可以不用手动注册驱动
mysql5后,在jar包中,存在一个java.sql.Driver配置文件,文件中指定了com.mysql.jdbc.Driver
在这里插入图片描述

Connection

+通过DriverManager.getConnection(url,user,password)数据库连接对象

  • 获取执行者对象
    • 获取普通执行者对象:Statement createStatement();
    • 获取预编译执行者对象:PreparedStatement prepareStatement(String sql);
  • 管理事务
    • 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。
    • 提交事务:commit();
    • 回滚事务:rollback();
  • 释放资源
    • void close();

Statement

Statement:执行sql语句的对象

  • 执行DML语句:int executeUpdate(String sql);
    • 返回值int:返回影响的行数。
    • 参数sql:可以执行insert、update、delete语句。
  • 执行DQL语句:ResultSet executeQuery(String sql);
    • 返回值ResultSet:封装查询的结果。
    • 参数sql:可以执行select语句。
  • 释放资源
    • void close();

ResultSet

ResultSet:结果集对象

  • 判断结果集中是否还有数据:boolean next();
    • 有数据返回true,并将索引向下移动一行
    • 没有数据返回false
  • 获取结果集中的数据:XXX getXxx(“列名”);
    • XXX代表数据类型(要获取某列数据,这一列的数据类型)
    • 例如:String getString(“name”); int getInt(“age”);
  • 释放资源
    • void close();

示例代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcDemo1 {
    public static void main(String[] args) throws Exception{
        //1.导入jar包
        //在模块中建立libs文件夹,导入jar包

        //2.注册驱动
        //mysql5之后可以不用手动注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //3.获取数据库连接对象
        //static Connection getConnection(String url, String user, String password);
        //该方法返回一个Connection数据库连接对象
        Connection con = DriverManager.getConnection("jdbc:mysql://192.168.23.129:3306/db_stu_cour","root","root1999");

        //4.获取执行者对象
        //此处Statement createStatement();为获取普通的执行者对象
        Statement stat = con.createStatement();

        //5.通过执行者对象执行sql语句
        //sql语句
        String sql = "SELECT * FROM student";
        //通过执行者调用查询方法,即DML语句,executeUpdate(String sql)
        // 或增删改方法,即DQL语句,executeQuery(String sql)
        ResultSet rs = stat.executeQuery(sql);

        //6.从ResultSet对象中提取结果
        //XXX getXxx("列名");
        //String getString("name");
        // int getInt("age");
        while(rs.next()){
            //String s = rs.getString();
            System.out.println(rs.getInt("Sno") + "\t" + rs.getString("Sname") + "\t"
            + rs.getString("Ssex") + "\t" + rs.getInt("Sage") + "\t"
                            + rs.getString("Sdept")
            );
        }

        //7.调用close()释放资源
        con.close();
        stat.close();
        rs.close();
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值