第六次作业-数据库连接

本周的小组项目工作主要是完成详细设计,在系统实现上这几天我主要在学习使用JDBC连接数据库,之前并没有接触过,所以从最基本的开始去了解学习。

1.JDBC是什么?

JDBC代表Java数据库连接,这对Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API。

JDBC库包含的API为每个通常与数据库的使用相关联的任务:

  • 使得连接到数据库
  • 创建SQL或MySQL语句
  • 执行SQL或MySQL的查询数据库
  • 查看和修改结果记录

从根本上说,JDBC是一种规范,它提供的接口,一套完整的,允许便携式访问底层数据库。可以用Java来写不同类型的可执行文件,如:

  • Java应用程序
  • Java Applets
  • Java Servlets
  • Java ServerPages (JSP)
  • Enterprise JavaBeans (EJBs)

所有这些不同的可执行文件就可以使用JDBC驱动程序来访问数据库,并把存储的数据的优势。

JDBC提供了相同的功能,ODBC,允许Java程序包含与数据库无关的代码。

先决条件:

以前正如期进行本教程,需要具备以下两个主题内容很好的了解:

JDBC架构:

JDBC API支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由两层组成:

  • JDBC API: 提供了应用程序对JDBC的管理连接。
  • JDBC Driver API: 支持JDBC管理到驱动器连接。

JDBC API的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。

JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。

注:更多关于JDBC内容(常见的JDBC组件、软件包等)以下链接有详细说明:http://www.yiibai.com/jdbc/jdbc-introduction.html

2.JDBC连接数据库:

在安装相应的驱动程序后,可以开始建立使用JDBC的数据库连接。

涉及到建立一个JDBC连接的编程是相当简单的。下面是这些简单的四个步骤:

  • 导入JDBC包: 添加import语句到Java程序导入所需的类在Java代码中。
  • 注册JDBC驱动程序:这一步会导致JVM加载所需的驱动程序实现到内存中,因此它可以实现JDBC请求。
  • 数据库URL制定:这是创建格式正确的地址指向到要连接的数据库。
  • 创建连接对象:最后,代码调用DriverManager对象的getConnection()方法来建立实际的数据库连接。

导入JDBC包:

import 语句告诉Java编译器在哪里可以找到在代码中引用,并放置在您的源代码最开始的类。

使用标准的JDBC包,它允许选择,插入,更新和SQL表中删除数据,添加以下进口到您的源代码:

import java.sql.* ;  // for standard JDBC programs
import java.math.* ; // for BigDecimal and BigInteger support

注册JDBC驱动程序:

使用它之前,必须注册你的驱动程序在程序。注册驱动程序是由Oracle驱动程序的类文件被加载到内存中以便它可以被用作JDBC接口的实现过程。

需要做这个注册只能在你的程序一次。可以通过以下两种方式之一注册一个驱动程序。

方法(一) - DriverManager.registerDriver():

可以用它来注册一个驱动程序的第二种方法是使用staticDriverManager.registerDriver()方法。

应该,如果使用的是不兼容的JDK JVM,比如微软提供一个使用registerDriver()方法。

下面的示例使用registerDriver()来注册Oracle驱动程序:

try {
   Driver myDriver = new oracle.jdbc.driver.OracleDriver();
   DriverManager.registerDriver( myDriver );
}
catch(ClassNotFoundException ex) {
   System.out.println("Error: unable to load driver class!");
   System.exit(1);
}注:方法二以下链接有说明:http://www.yiibai.com/jdbc/jdbc-db-connections.html

数据库URL制定:

当加载的驱动程序,可以建立程序中使用DriverManager.getConnection()方法的连接。为方便参考,让列出了三个重载DriverManager.getConnection()方法:

  • getConnection(String url)
  • getConnection(String url, Properties prop)
  • getConnection(String url, String user, String password)

在这里,每个表单需要一个数据库URL。数据库的URL是指向数据库地址。

制定一个数据库URL是大多数用在建立连接相关。

创建连接对象:

使用数据库URL的用户名和密码:

下面三种形式DriverManager.getConnection()方法来创建一个连接对象。getConnection()最常用形式要求传递一个数据库URL,用户名 username和密码 password:

对URL数据库部分databaseName的值:假设使用的是Oracle的瘦驱动程序,需要指定一个主机:端口。

假设有一台主机TCP/IP地址192.0.0.1 以及主机名和Oracle监听器被配置为在端口1521,数据库名称是EMP,然后完整的数据库URL是:

jdbc:oracle:thin:@amrood:1521:EMP

现在,必须调用适当的用户名和密码以及getConnection()方法来获得一个Connection对象,如下所示:

String URL = "jdbc:oracle:thin:@amrood:1521:EMP";
String USER = "username";
String PASS = "password"

Connection conn = DriverManager.getConnection(URL, USER, PASS);注:其他两种形式为:只使用一个数据库URL;使用数据库的URL和一个properties对象。具体实现方法说明请见以下链接:http://www.yiibai.com/jdbc/jdbc-db-connections.html

关闭JDBC连接:

在JDBC程序的结束,它明确要求关闭所有的连接到数据库,以结束每个数据库会话。但是,如果忘了,Java垃圾收集器会关闭连接时,它会清除陈旧的对象。

依托垃圾收集,特别是在数据库编程,是非常差的编程习惯。应该总是在关闭与连接对象关联的close()方法连接的习惯。

为了确保连接被关闭,可以在代码中的finally块执行。 finally块都会执行,不管是否发生或也不例外。

要关闭上面打开的连接,应该调用close()方法,如下所示:

conn.close();

显式地关闭连接DBMS节约资源。

小结:第一次使用JDBC来连接数据库,在这过程中也确实遇到了不少问题,例如JAVA、Oracle使用不熟练对整个过程造成了很大影响,所以还是需要加强自己的编程能力,对于过程当中所犯的一些错误需要自己一步一步耐心解决。

时间: 2024-10-16 09:23:18

第六次作业-数据库连接的相关文章

第六次作业。陈彬彬

shadowL 软件测试第六次作业------bookstore项目缺陷测试 一.                 Bookstore项目测试缺陷报告 ———————————————————————————————— 缺陷编号:06.13.0016        发现人:陈彬彬     记录日期:2016.6.13 所属模块:用户注册              确认人:陈彬彬    确认日期:2016.6.13 当前状态:公开                    严重度:1         优

第六周作业。

第六周作业.额,暂时不知道写什么好.那就写写如何翻越GFW   (科学上网)的教程吧.基于Shadow socks的教程.可能不是第一个,也可能不是最后一个.但是这也算是科普吧.毕竟连翻越GWF(科学上网)能力都没有何必谈的上是一个好的Programer呢?. ========================================================== 顺便说一句:Fk GFW. ==============================================

耿丹16-1第六次作业

-- Deadline: 2016-10-20 23:00 pm -- 作业内容:https://edu.cnblogs.com/campus/bjgygd/Sixteen-One/homework/127 -- 第六次作业总结: 1. 部分同学不清楚代码风格的意义何在,可以自己网上查询下,要养成良好的利用网络资料的习惯. 2. 有同学提出疑问为什么要上传代码到coding.net网站,这个也请google下 O(∩_∩)O. 3. 本次作业所有提交到coding.net上涉嫌抄袭的同学,都没有

第六章作业

第六章作业  6.31 6.31 解答: A. 高速缓存大小C=E*B*S=4*4*8=128 字节 B.

软件过程与项目管理第六次作业

软件过程与项目管理六次作业 小组项目方面,我们的总体已经出来了,下周小组长让我们学着用脚本语言写写测试用例. 这周我主要在准备文档,我们组目前才完成了两个文档,一个是需求分析文档,一个是立项说明文档,还有一个概要设计文档还在建立和补充当中.我发现在开发一个项目的过程中,文档的书写也是一个很让人头疼的问题.我们的项目不大,所需要的文档也不多,但我觉得这些文档已经很让人头疼了.首先我们的文档是几个人分部分写然后再一起总结的,我就发现不同的人写文档的风格就不一样,比如说,分点标序号,有些人就喜欢用数字

3.26日第六次作业,第10章质量,11章人力

3.26日 第六次作业,第10章质量,11章人力 1.质量管理基本原则   以实用为核心的多元要求.系统工程.职工参与管理.管理层和第一把手重视.保护消费者权益.面向国际市场. 2.质量管理的目标顾客满意度.预防胜于检查.各阶段内的过程.   质量管理既重视结果也重视过程   实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等) 3.质量管理的主要活动有哪些项目的质量管理可以分解为质量策划.质量保证与质量控制三个过程.质量策划是指确定与项目相关的质量标准,并决定如何达到这些质量标准.质量

第六课作业——主从复制和sentinel高可用

第六课时作业 静哥 by 2016.3.21~2016.4.3   [作业描述] 1.配置主从复制,截图看日志 2.配置一个哨兵,一主一从结构,并实现主宕机从接管的过程,截图显示 3.总结哨兵的原理 一.配置主从复制 1.系统环境 2.启动redis-1 redi-2服务,如下: 3.设置主从复制: 方法-1:在从库redis-2的配置文件redis.conf里指定slaveof参数: 方法-2:redis-cli命令进入redis客户端后,slaveof指定: 以上2种方式,均可以指定redi

Python编程:从入门到实践——【作业】——第六章作业

第六章作业 6-1 人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字典中的每项信息都打印出来. 6-2 喜欢的数字 : 使用一个字典来存储一些人喜欢的数字. 请想出5个人的名字, 并将这些名字用作字典中的键: 想出每个人喜欢的一个数字, 并将这些数字作为值存 储在字典中. 打印每个人的名字和喜欢的数字. 为让这个程序更有趣, 通过询问朋友确保数据是真实的.6-3 词

软件质量保证与测试第六周作业

作业内容:本周在进行项目开发的过程中,我接触到了JDBC(Java Data Base Connectivity,java数据库连接),它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC可以为多种数据库提供统一的访问,简单来说JDBC就是用来连接java和数据库的桥梁,体现了Java“编写一次,处处运行”的高大上精神.连接到oracle数据库之后,我在同学的指导下进行了慕课网JDBC视频的学习 http://www.