Java程序设计:Java数据访问对象JDBC

一、JDBC概述

1、什么是JDBC 
     Java数据库连接(Java Database Connection,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了Java操作数据库的读写方法。
 
2、JDBC驱动程序的类型
(1)JDBC-ODBC桥
     这种类型的驱动把所有JDBC的调用传递给ODBC,再让后者调用数据库本地驱动代码(也就是数据库厂商提供的数据库操作二进制代码库,例如Oracle中的oci.dll)。
(2)本地API驱动
    这种类型的驱动通过客户端加载数据库厂商提供的本地代码库(C/C++等)来访问数据库,而在驱动程序中则包含了Java代码。
(3)网络协议驱动
     这种类型的驱动给客户端提供了一个网络API,客户端上的JDBC驱动程序使用套接字(Socket)来调用服务器上的中间件程序,后者在将其请求转化为所需的具体API调用。
(4)本地协议驱动
    这种类型的驱动使用Socket,直接在客户端和数据库间通信。
 
3、JDBC的主要API
      JDBC API主要位于JDK中的java.sql包中,之后扩展的内容位于javax.sql包中:
(1)DriverManager
      负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。
(2)Driver:
       驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。
(3)Connection
     数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。
(4)Statement:
     用以执行SQL查询和更新(针对静态SQL语句和单次执行)。
PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。
(5)SQLException
       代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。
 


 
 
 二、第一个JDBC程序
 
 

 url="jdbc:mysql://127.0.0.1:3306/demo1?user=root&password=";  
//1、加载驱动
  Class.forName("com.mysql.jdbc.Driver").newInstance();
//2、初始化连接对象
  conn=DriverManager.getConnection(url);
//3、初始化stm对象
  stm=conn.createStatement();
  stm.executeUpdate(sql);
  ResultSet rs=stm.executeQuery(sql);
 
示例-1:数据新增操作
 
 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
 
public class Demo {
 
 public static void main(String[] args) throws Exception    {  
    
    String   url="jdbc:mysql://127.0.0.1:3306/db1?user=root&password=";
    //1、加载驱动
    Class.forName("com.mysql.jdbc.Driver").newInstance();
      //2、获取Connetion对象
    Connection conn = DriverManager.getConnection(url);
    //3、获取Statement对象
    Statement stm = conn.createStatement();
    String sql = "INSERT INTO goods(goods_id,goods_name,goods_price) VALUES('G005','Book5',79)";
    int r = stm.executeUpdate(sql);
    if(r==1) {
       System.out.println("新增成功");
    }
         
  }
}
 
 
 
示例-2:数据查询操作
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class Demo {
 
  public static void main(String[] args) throws Exception    {
    
    String   url="jdbc:mysql://127.0.0.1:3306/db1?user=root&password=";
    //1、加载驱动
    Class.forName("com.mysql.jdbc.Driver").newInstance();
      //2、获取Connetion对象
    Connection conn = DriverManager.getConnection(url);
    //3、获取Statement对象
    Statement stm = conn.createStatement();
    String sql = "SELECT * FROM goods";
    ResultSet rs = stm.executeQuery(sql);
    while(rs.next()) {
     System.out.print(rs.getString("goods_id"));
     System.out.print("  ");
     System.out.print(rs.getString("goods_name"));
     System.out.print("  ");
     System.out.print(rs.getFloat("goods_price"));
     System.out.println();//换行
    }
       
    }
}
 

 
 
 
 三、将JDBC程序封装Tools

1、使用记录集封装

 
【1】工具类
 
package com.test.tools;
 
import java.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数字化与智能化

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

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

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

打赏作者

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

抵扣说明:

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

余额充值