JDBC01

JDBC-01-授课笔记

一、JDBC快速入门

1.jdbc的概念

 

 

JDBC(Java DataBase Connectivity,java数据库连接),说白了,就是通过咱们的java程序连接数据库的,是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的。

2.jdbc的本质

  • 其实就是java官方提供的一套规范(接口)。用于帮助开发人员快速实现不同关系型数据库的连接!

 

3.jdbc的快速入门程序

 

 

导入jar包:java官方只是提供了一套规范,至于具体的实现还是由各个数据库厂商自己来实现的  

 

 

 

 

注册驱动

Class.forName("com.mysql.jdbc.Driver");

获取连接

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2", "root", "root");

获取执行者对象

Statement stat = con.createStatement();

执行sql语句,并接收返回结果

String sql = "SELECT * FROM user";
ResultSet rs = stat.executeQuery(sql);

处理结果

while(rs.next()) {
    System.out.println(rs.getInt("id") + "\t" + rs.getString("name"));
}

释放资源

con.close();
stat.close();
rs.close();

二、JDBC各个功能类详解

 

1.DriverManager

  • DriverManager:驱动管理对象功能类

    • 注册驱动(告诉程序该使用哪一个数据库驱动)

      • static void registerDriver(Driver driver):注册与给定的驱动程序 DriverManager (该方法是DriverManager类中的静态方法)

      • 写代码使用:Class.forName("com.mysql.jdbc.Driver");

      • 通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块

      static {
          try {
              java.sql.DriverManager.registerDriver(new Driver());
          } catch (SQLException E) {
              throw new RuntimeException("Can't register driver!");
          }
      }
      • 注意:mysql5之后的驱动jar包可以省略注册驱动的步骤。在jar包中,存在一个java.sql.Driver配置文件,文件中指定了com.mysql.jdbc.Driver

    • 获取数据库连接(获取到数据库的连接并返回连接对象)

      • static Connection getConnection(String url, String user, String password); (该方法是DriverManager类中的静态方法)

        • 返回值:Connection数据库连接对象

        • 参数

          • url:指定连接的路径。语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

          • user:用户名

          • password:密码

 

Connection

  • Connection:数据库连接对象

    • 获取执行者对象

      • 获取普通执行者对象:Statement createStatement();

      • 获取预编译执行者对象:PreparedStatement prepareStatement(String sql);

    • 管理事务

      • 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。

      • 提交事务:commit();

      • 回滚事务:rollback();

    • 释放资源

      • 立即将数据库连接对象释放:void close();

 

3.Statement

  • Statement:执行sql语句的对象

    • 执行DML语句:int executeUpdate(String sql);

      • 返回值int:返回影响的行数。

      • 参数sql:可以执行insert、update、delete语句。

      该返回值是int类型,不用释放资源

    • 执行DQL语句:ResultSet executeQuery(String sql);

      • 返回值ResultSet:封装查询的结果。

      • 参数sql:可以执行select语句。

    • 释放资源

      • 立即将执行者对象释放:void close();

 

4.ResultSet

  • ResultSet:结果集对象

    • 判断结果集中是否还有数据:boolean next();

      • 有数据返回true,并将索引向下移动一行

      • 没有数据返回false

      • 所以我们可以利用while循环来遍历数据

    • 获取结果集中的数据:XXX getXxx("列名");

      • XXX代表数据类型(要获取某列数据,这一列的数据类型)

      • 例如:String getString("name"); int getInt("age");

    • 释放资源

      • 立即将结果集对象释放:void close();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值