import java.sql.*;

public class DataBase {
    public static void main() {

    }
}

/*
    5.1.1 JDBC
 */

class JDBC{
    static void JDBCExample(String userid,String passwd){
        /*

         */
        try{
            /*
                加载驱动器类,参数为直线了java.sql.Driver接口的实体类,这个接口的功能是
                实现了不同层面的操作之间的转换,一边是产品类型无关的JDBC操作、另一边是与产品
                相关的、在所使用的特定数据库管理系统中完成的操作。
             */
            Class.forName("oracle.jdbc.driver.OracleDriver");

            /*
                调用DriverManager类的getConnection方法来打开一个数据库连接。
                URI中指代的意义:
                    jdbc:oracle:thin:与数据库通信所使用的协议
                    db.yale.edu:服务器所在主机的名称
                    1521:端口号
                    univdb:所连接的数据库实例
             */
            Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@db.yale.edu:1521:univdb",
                    userid,
                    passwd);

            /*
                一旦打开了一个数据库连接,程序就可以利用该连接来向数据库发送SQL语句用于执行。这是
                通过Statement类的一个实例来完成的。一个Statement对象并不代表SQL语句奔上,而是
                实现了可以被Java程序调用的一些方法,通过参数来传递SQL并被数据库系统所执行。我们
                的例子在连接变量conn上创建了一个Statement句柄。

                我们即可以用executeQuery函数,又可以用executeUpdate函数来执行一条语句~
             */
            Statement stmt = conn.createStatement();
            stmt.executeUpdate("insert into instructor values('','','')");
            /*

             */
            ResultSet set = stmt.executeQuery("");
            while (set.next()) {
                //Do Something...
            }

            ResultSetMetaData rsmd = set.getMetaData();
            ; i < rsmd.getColumnCount(); i++) {
                System.out.println(rsmd.getColumnName(i));
                System.out.println(rsmd.getColumnType(i));
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

/*
    5.1.1.5 可调用语句

    JDBC提供了CallableStatement接口来允许调用SQL的存储过程和函数,此接口对函数
    和过程所扮演的角色跟prepareStatement对查询所扮演的角色一样。函数返回值和过程
    的对外参数的数据类型必须先用方法registerOutParameter()注册,它们可以用与结果
    集用的方法类似的get方法是获取。
 */

/*
    5.1.1.5 元数据特性

    一个Java应用程序不包括数据类型存储的数据的声明。这些声明是SQL数据定义语言DDL的一
    部分。因此使用JDBC的java程序,必须要么将关于数据库模式的假设硬编码到程序中,要么
    直接在运行时从数据库系统中得到那些信息。后一种方法更可取,因为它使得应用程序可以更
    健壮的处理数据库模式的变化。

    我们使用executeQuery方法查询时,查询结果被封装在一个ResultSet对象中。接口ResultSet
    中有一个getMetaData()方法,它返回一个包含结果集元数据的ResultSetMetaData对象,
    ResultSetMetaData对象进一步又包括查找元数据的方法,例如结果集的列数,或者某个特定
    列的数据类型。这样,即使不知道结果的模式,我们也可以方便地执行查询。

    DatabaseMetaData接口提供了查找数据库元数据的机制。接口Connection包含一个getMeteData
    方法,用于返回一个DatabaseMetaData对象。接口DatabaseMetaData进一步又包含了大量的方法
    可以用于获取程序所连接数据库和数据库系统的元数据。
 */

/*

 */

数据库系统概念:JDBC的更多相关文章

  1. ​《数据库系统概念》1-数据抽象、模型及SQL

    ​DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便.高效的方式,此外对大多数企业来说,数据是非常重要的,所以DB ...

  2. 数据库系统概念:SQL的数据类型与模式、授权

    public class DataBase { public static void main() { } } /* 4.5 SQL的数据类型与模式 4.5.1 SQL的日期与时间类型 SQL标准支持 ...

  3. 《数据库系统概念》10-ER模型

    通过建立实体到概念模型的映射,Entity-Relationship Model可以表达整个数据库的逻辑结构,很多数据库产品都采用E-R模型来表达数据库设计. 一.E-R模型采用了三个基本概念:实体集 ...

  4. SQLServer数据库系统概念

    数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...

  5. 数据库系统概念:基础的SQL

    public class DataBase { public static void main() { } } /* 3.1 SQL查询语言概览 SQL语言有一下几个部分: 数据定义语言:提供定义关系 ...

  6. 《数据库系统概念》11-扩展的E-R特性

    ​虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性 一.特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性.比如person可 ...

  7. ​《数据库系统概念》4-DDL、集合运算、嵌套子查询

    一.DDLa) SQL Data DefinitionSQL的基本数据类型有char(n).varchar(n).int.smallint.numeric(p,d).real,double preci ...

  8. JDBC的介绍2

    一.基础知识 1. 数据持久化 持久化(persistence):对象在内存中创建后,不能永久存在.把对象永久的保存起来就是持久化的过程.而持久化的实现过程大多通过各种关系数据库来完成. 持久化的主要 ...

  9. 第16讲:ODBC&JDBC简介

    一.ODBC简介 1. ODBC的概念 ①ODBC:Open DataBase Connection,即开放数据库连接 ②ODBC是一种标准,它规定了不同语言的应用程序与不同数据库服务器之间通讯的方式 ...

随机推荐

  1. VS下对Resx资源文件的操作

    原文:VS下对Resx资源文件的操作 读取 using System.IO; using System.Resources; using System.Collections; using Syste ...

  2. 请求通道在等待 00:00:58.9616639 以后答复时超时。增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值。分配给此操作的时间可能是更长超时的一部分。

    异常信息:请求通道在等待 00:00:58.9616639 以后答复时超时.增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值.分配给此操作的时间可能是更长超时的一部分. 开发背 ...

  3. Quartz Cron 生成工具

    /** * 每周期 */ function everyTime(dom) { var item = $("input[name=v_" + dom.name + "]&q ...

  4. Oracle 裁掉北京研发团队,相应职位撤回美国(收购了NetSuite,LogFire,Dyn)

    根据中国日报报道,2017年1月14日上午9点09分,甲骨文北京研发团队的同事收到了来自BU老大的一封邮件.邮件上提及,由于市场变化,甲骨文开始整合各研发中心资源公司在云计算方向发力,文末单独提出了甲 ...

  5. IIS上.net注册

    如果先安装了.Net平台,后再安装IIS,那么在IIS中可能就没有出现ASP.NET版本的下拉菜单,这是我们可手动注册.Net 一般.Net版本都存放在:C:\WINDOWS\Microsoft.NE ...

  6. 【搜索引擎】Solr Suggester 实现全文检索功能-分词和和自动提示

    功能需求 全文检索搜索引擎都会有这样一个功能:输入一个字符便自动提示出可选的短语: 要实现这种功能,可以利用solr的SuggestComponent,SuggestComponent这种方法利用Lu ...

  7. C语言实现常用数据结构——堆

    #include<stdio.h> #include<stdlib.h> #define CAPACITY 20 /*堆有两个性质: * 1.结构性:堆必须是一颗完全二叉树 * ...

  8. thinkphp5ajax分頁&&搜索後分頁

    //控制器層 //分頁 public function list_january_table(){ //設置當前頁 $page = input("post.page") ? inp ...

  9. SQL SERVER 之快照复制,事务复制,合并复制

    一.环境要求及说明 1.快照复制和事务复制是单向的(2005及以后的版本中加入了订阅端可更新的事务复制). 2.合并复制是双向的. 3.快照复制对表结构没有要求. 4.事务复制要求表有主键. 5.合并 ...

  10. never下的easysql

    什么是EasySql 在我们早期写的代码中,想实现组装灵活的sql语句与参数,我们可以去翻阅早期自己写的代码 var @sb = new StringBuilder(); sb.Append(&quo ...