分享
 
 
 

JDBC学习笔记(1)

王朝other·作者佚名  2008-06-24
窄屏简体版  字體: |||超大  

l. 连接到数据库的方法

答:1) ODBC(Open Database Connectivity)

一个以C语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。

2) JDBC

Java版本的ODBC

2. JDBC应用编程接口

答:JDBC应用编程接口是:

1) 标准的数据访问接口,可以连到不同的数据库;

2) JAVA编程语言的一组类和接口。

JDBC应用编程接口能够:

1) 连接到数据库;

2) 发SQL查询字符串到数据库;

3) 处理结果。

JDBC应用编程接口有二个主要的部分:

1) JAVA应用程序开发接口面向JAVA应用程序开发者;

2) JDBC驱动程序开发接口

3. JDBC Driver

答:1) 一大堆实现了JDBC类和接口的类;

2) 提供了一个实现java.sql.Driver接口的类。

4. JDBC Driver的四种类型

答:1) JDBC-ODBC桥

由ODBC驱动提供JDBC访问

2) 本地API

部分Java driver把JDBC调用转化成本地的客户端API

3) JDBC-net

纯的Java driver,将JDBC调用转入DBMS,与网络协议无关。然后通过服务器将调用转为DBMS协议。

4) 本地协议

纯的java driver,将JDBC调用直接转为DBMS使用的网络协议

5. JDBC开发者接口

答:1) java.sql--java 2平台下JDBC的主要功能,标准版(J2SE)

2) javax.sql--java 2平台下JDBC增强功能,企业版(J2EE)

6. 使用URL确认数据库

答:我们使用URL来确定一个数据库(正确的Driver,正确的主机,正确的协议,正确的协议,正确的用户名和密码);

语法:protocol:subprotocol:subname

范例:jdbc:db2:MyTest

jdbc:db2://localhost:6789/MyTest

7. javax.sql包JDBC2.0的增强功能

答:1) 数据源接口;

2) 连接池;

3) 分布式交易;

4) 行集;

8. 创建一个基本的JDBC应用

答:1) 步骤一:注册一个driver;

2) 步骤二:建立一个到数据库的连接;

3) 步骤三:创建一个statement;

4) 步骤四:执行SQL语句;

5) 步骤五:处理结果;

6) 步骤六:关闭JDBC对象

9. 注册一个Driver(步骤一)

答:1) driver被用于连接到数据库;

2) JDBC应用编程接口使用第一个能成功连接到给定URL的driver;

3) 在同一时间可以装载多个driver

10.注册一个driver的方法:

答:1) 使用类loader(装载;实例化;注册入DriverManager)

a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");

b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");

c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);

d. Class.forName("oracl.jdbc.driver.OracleDriver");

e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

2) 实例化一个Driver

a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();

1. 建立一个到数据库的连接(步骤二)

答:DriverManager调用getConnection(urlString)方法,实际上调用的是driver的connect(urlString)方法;

1) 当一个driver肯定地对应到一个数据库URL,DriverManager建立一个连接;

2) 当没有driver匹配,返回null然后下一个driver被检验;

3) 假如没有建立连接,抛出一个SQLExcepiton异常

2. 经常使用的一些JDBC URL

答:1) JDBC-ODBC: jdbc:odbc:<DB>

2) Oracle: jdbc:oracle:oci:@<sid> or jdbc:oracle:thin:@<SID>

3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>

4) DB2: jdbc:db2:MyTest or jdbc.db2://localhost:6789/MyTest(需要用户名和密码)

3. Driver连接方法

答:1) 创建一个到指定Driver实例的直接调用;

2) 避免一般访问的问题

Driver drv = new COM.ibm.db2.jdbc.app.DB2Driver();

Connection con = null;

try {con = drv.connect("jdbc:db2:MyTest",new Properties())}

catch(SQLException e){}

4. 创建一个Statement(步骤三)

答:1) Statement的三个接口:

a. Statement;

b. PreparedStatement(继承自Statement);

c. CallableStatement(继承自PreparedStatement);

2) 使用方法Connection.createStatement()得到一个Statement对象

5. PreparedStatement对象

答:1) 调用ProparedStatement比statement更为高效;

2) 继承自Statement;

3) 语法:PreparedStatement pstm = connection.prepareStatement(sqlString);

6. CallableStatement对象

答:1) 通过CallableStatement调用数据库中的存储过程;

2) 继承自PreparedStatement;

3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");

cstm.setString(1,"8623034");

cstm.registerOutparameter(2, Types.REAL);

cstm.execute();

float gpa = cstm.getFloat(2);

7. Statement接口的比较

答: | Statement | PreparedStatement | CallableStatement

------------------------------------------------------------------------------

写代码位置 | 客户端 | 客户端 | 服务器端

------------------------------------------------------------------------------

写代码位置 | 客户端 | 服务器端 | 服务器端

------------------------------------------------------------------------------

编写代码技术 |Java,SQL操作 |Java,SQL操作 | 数据库的程序语言,如PL/SQL

------------------------------------------------------------------------------

可配置性 | 高 |第一次高,以后低 | 低

------------------------------------------------------------------------------

可移植性 | 高 |假设支持PreparedStatement的话高

------------------------------------------------------------------------------

传输效率 | 低 |第一次低,以后高 | 高

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有