JDBC原理

JDBC:Java database connectivity
不同数据库厂商,会提供不同的架包,实现jdbc的一套接口标准
JDBC接口及数据库厂商实现
DriverManager Connection DatabaseMetaData statemet ResultSet
工作原理:加载驱动建立连接,创建语句对象,执行SQL语句,处理结果集,关闭连接

加载驱动:
Class.forName("oracle.jdbc.diver.OracleDriver")
创建连接:
connection conn=DriverManager.getConnection("jdbc.oracle:thin:@IP:端口号:数据库名称",“用户名” ,“密码”);
获取连接:
Statement stmt=conn.createStatement();
执行sql语句 :
stmt.executeUpdate(sql);
关闭语句对象,连接,释放资源

if(stmt!=null){
            stmt.close();
        }
if(conn!=null){
            conn.close();
        }
stmt
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * JDBC 是Java访问各种数据库的解决方案,这套解决方案是用一套标准接口来实现
 * 即访问数据库的通用API(sun公司制定)而实现这些接口的类是由数据库厂商提供的
 * 我们总称这些为JdbcDriver(mysql driver, oracle Driver)
 * JDBC的工作原理:
 * 驱动程序:一组实现类,类中实现了接口的各种方法,在程序中调用的是接口,在运行时实际调用的是
 * 类中实现的方法(这是多态的一种体现形式)
 * JDBC执行过程:加载驱动→获取链接→创建语句对象,发送sql语句→执行sql,获取结果集→处理结果集→释放资源
 * @author itachi
 *
 */
/* 
 * 导入jar包:创建lib文件夹,复制jar文件
 * 右击→build path→add build path
 */
/*
 * 迭代结果集
 */

public class Demo6 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        String driverName="oracle.jdbc.driver.OracleDriver";
        String url="jdbc:oracle:thin:@localhost:1521:Orcl";
        String userName="itachi";
        String password="2649057";
        String sql="select id,name from t_user";
        Class.forName(driverName);//加载驱动
        Connection conn=DriverManager.getConnection(url, userName, password);//获取链接
        Statement stmt=conn.createStatement();//创建语句对象
        ResultSet rs=stmt.executeQuery(sql);//执行sql,获取结果集
        //移动指针,指向第一条记录,每执行一次就向下移动一次
        //移动结果集指针,返回boolean值,false表示没有记录,true表示有记录
/*      rs.next();
        //getXXX("colun_name"),返回对应字段值
        int id=rs.getInt("id");
        String name=rs.getString("name");
        System.out.println("编号\t姓名\n"+id+"\t"+name);*/
        
        //结果集为多条时,使用循环迭代结果
        while(rs.next()){
            int id=rs.getInt("id");
            String name=rs.getString("name");
            System.out.println("编号\t姓名\n"+id+"\t"+name);
        }
        if(stmt!=null){
            stmt.close();
        }
        if(conn!=null){
            conn.close();
        }
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JDBC简介 SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。JDBC...
    奋斗的老王阅读 1,536评论 0 51
  • 本人的环境为Myeclipse10、MySQL5.7.15 本文包括:简介JDBC编程步骤打通数据库程序详解—Dr...
    廖少少阅读 3,972评论 7 39
  • JDBC概述 在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库、JDO技术、第三方O/R工具,如...
    usopp阅读 3,546评论 3 75
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,740评论 18 399
  • --陆张天一 江南盛夏,拙政赏景。莲叶田田,志清意远。
    令谦兑阅读 768评论 0 1