数据库系统概念:JDBC
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-数据抽象、模型及SQL
DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便.高效的方式,此外对大多数企业来说,数据是非常重要的,所以DB ...
- 数据库系统概念:SQL的数据类型与模式、授权
public class DataBase { public static void main() { } } /* 4.5 SQL的数据类型与模式 4.5.1 SQL的日期与时间类型 SQL标准支持 ...
- 《数据库系统概念》10-ER模型
通过建立实体到概念模型的映射,Entity-Relationship Model可以表达整个数据库的逻辑结构,很多数据库产品都采用E-R模型来表达数据库设计. 一.E-R模型采用了三个基本概念:实体集 ...
- SQLServer数据库系统概念
数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...
- 数据库系统概念:基础的SQL
public class DataBase { public static void main() { } } /* 3.1 SQL查询语言概览 SQL语言有一下几个部分: 数据定义语言:提供定义关系 ...
- 《数据库系统概念》11-扩展的E-R特性
虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性 一.特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性.比如person可 ...
- 《数据库系统概念》4-DDL、集合运算、嵌套子查询
一.DDLa) SQL Data DefinitionSQL的基本数据类型有char(n).varchar(n).int.smallint.numeric(p,d).real,double preci ...
- JDBC的介绍2
一.基础知识 1. 数据持久化 持久化(persistence):对象在内存中创建后,不能永久存在.把对象永久的保存起来就是持久化的过程.而持久化的实现过程大多通过各种关系数据库来完成. 持久化的主要 ...
- 第16讲:ODBC&JDBC简介
一.ODBC简介 1. ODBC的概念 ①ODBC:Open DataBase Connection,即开放数据库连接 ②ODBC是一种标准,它规定了不同语言的应用程序与不同数据库服务器之间通讯的方式 ...
随机推荐
- Android 9.0 Dialog不显示
Tester报了一个bug,大概如下: 页面:Activity1 dialog1(半透明遮罩样式) Activity2 dialog2 场景:Activity1弹出dialog1,dialog1弹出a ...
- Ubuntu服务器搭建
Ubuntu16 搭建Git 服务器 - 濮成林 - 博客园 https://www.cnblogs.com/charliePU/p/7528226.html Ubuntu 搭建 GitLab 笔记 ...
- CDC-更改数据捕获存储过程 (Transact-SQL)-学习
背景: 在SQLServer2008之前,对数据变更的捕获通常使用触发器.时间戳等低效高成本的功能来实现,所以很多系统都没有做数据变更或者仅仅对核心表做监控. 适用环境: 仅在SQLServer200 ...
- AnmpServer 0.9.3 发布
摘要: AnmpServer是一款集成Apache服务器.Nginx服务器.MySQL数据库.PHP解释器的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发,助力PH ...
- python连接数据库(2)——mongodb
mongodb是近一段时间以来比较流行的非关系数据库之一,由于python和它都对json类型有着很好的支持,因此配合起来可谓天衣无缝. 首先要下载python对mongodb支持的包pymongo ...
- C#最新功能(6.0、7.0)
一直用C#开发程序,.NET的功能越来越多,变化也挺大的,从最初的封闭,到现在的开源,功能不断的增加,一直在进步.作为C#的强烈支持者,C#的变化,我不能不关注,这篇文章主要介绍,C#6.0和C#7. ...
- 分布式数据库中间件 MyCat 搞起来!
关于 MyCat 的铺垫文章已经写了三篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! What?Tomcat 竟然也算中间件? ...
- Java多线程同步工具类之CountDownLatch
在过去我们实现多线程同步的代码中,往往使用join().wait().notiyAll()等线程间通信的方式,随着JUC包的不断的完善,java为我们提供了丰富同步工具类,官方也鼓励我们使用工具类来实 ...
- 视频技术详解:RTMP H5 直播流技术解析
本文聚焦 RTMP 协议的最精华的内容,接进行实际操作 Buffer 的练习和协议的学习. RTMP 是什么 RTMP 全称即是 Real-Time Messaging Protocol.顾名思义就是 ...
- 系统学习 Java IO (十四)----字符读写缓存和回退 BufferedReader/BufferedWriter & PushbackReader
目录:系统学习 Java IO---- 目录,概览 BufferedReader BufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲. 缓冲可以加快 I ...