文档库 最新最全的文档下载
当前位置:文档库 › java与数据库连接方式

java与数据库连接方式

java与数据库连接方式
java与数据库连接方式

题目:java与数据库连接方式

学院:数学院

专业:信息与计算科学

组长:学号:

组员:学号:

指导老师:

完成日期:

目录

一、引言 (4)

二、概述 (4)

三、J ava与数据库连接方式 (4)

四、J ava与数据库连接的四种类型 (6)

(一)JDBC-ODBC bridge plus ODBC driver (7)

(二)Native –API partly Java driver (8)

(三)JDBC-Net pure Java driver (8)

(四)Native-protocol pure Java driver (8)

五、A PI概述 (8)

六、连接API (9)

七、应用举例 (9)

(一)Java连接数据库SQL Server 2005?????.9 (二)SQL 关系数据库与Java开发语言的融合..9 (三)处理 (9)

八、数据库建立连接 (9)

九、执行结果 (15)

十、参考文献 (16)

Java与数据库连接方式

摘要:

java是全球使用最广泛的一门网络编程语言,当今许多系统都是用java语言进行编写的;再编程中涉及比较多比较重要的就是数据库问题,java自身提供对各类主流数据库的支持,通过java.sql库,提供了统一的接口,使得可以在java环境下不必对程序做大规模的修改,只要更改

相应的驱动程序,即可实现对各类数据库的操作。目前为止,Java2的JDBC Drivers仅提供下述四种类型的数据库驱动方式。

关键词:Java、数据库、连接方式、SQL语言

一、引言:

随着计算机应用的不断深入,各种信息管理系统和数据库结合越来越紧密,其应用数据也随着时间的迅速的增长,数据库的重要性也日益显著。

Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标1。它JDBC是面向关系型数据库的。

二、概述:

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标1。它JDBC是面向关系型数据库的。

主要介绍java与数据库的几种连接方式及如何建立连接。

三、Java与数据库连接方式

1、Oracle8/8i/9i数据库(thin模式)

Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance();

String url=“jdbc:oracle:thin:@localhost:1521:orcl“; //orcl为数据库的SID String user=“test“;

String password=“test“;

Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName(“com.ibm.db2.jdbc.app.DB2Driver “).newInstance();

String url=“jdbc:db2://localhost:5000/sample“; //sample为你的数据库名String user=“admin“;

String password=““;

Connection conn= DriverManager.getConnection(url,user,password);

3、Sql Server7.0/2000数据库

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance(); String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“; //mydb为数据库

String user=“sa“;

String password=““;

Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName(“com.sybase.jdbc.SybDriver“).newInstance();

String url =“ jdbc:sybase:Tds:localhost:5007/myDB“;//myDB为你的数据库名Properties sysProps = System.getProperties();

SysProps.put(“user“,“userid“);

SysProps.put(“password“,“user_password“);

Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

Class.forName(“https://www.wendangku.net/doc/0f14941439.html,rmix.jdbc.IfxDriver“).newInstance();

String url = “jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword“; //myDB为数据库名

Connection conn= DriverManager.getConnection(url);

6、MySQL数据库

Class.forName(“org.gjt.mm.mysql.Driver“).newInstance();

String url =“jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&c haracterEncoding=8859_1“

//myDB为数据库名

Connection conn= DriverManager.getConnection(url);

7、PostgreSQL数据库

Class.forName(“org.postgresql.Driver“).newInstance();

String url =“jdbc:postgresql://localhost/myDB“ //myDB为数据库名

String user=“myuser“;

String password=“mypassword“;

Connection conn= DriverManager.getConnection(url,user,password);

8、access数据库直连用ODBC的

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“) ;

String url=“jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=“+application.getRealPath(“/Data/ReportDemo.mdb“);

Connection conn = DriverManager.getConnection(url,““,“”);

Statement stmtNew=conn.createStatement() ;

四、Java与数据库连接的四种类型

Java语言在数据库应用方面,特别在基于Web 的B/S结构的在线数据库应用方面的烦琐复杂配置等,并不能使用户和程序开发双方都十分满意。SunSoft虽提供了用Java 语言编写成的Java与数据库的接口规范JDBC(Java DataBase Connectivity,而JavaSoft说JDBC并不代表什么),使Java程序可以通过统一标准规范的JDBC API来与不同的数据库通信。确保了"100%纯Java"的解决方案。JDBC API 定义了Java中的类和接口,表示数据库连接、SQL 指令、结果集合等。它允许Java程序员发送SQL 指令并处理结果。JDBC API 提供两种主要接口:一是面向开发人员的java.sql程序包,使得Java程序员能够进行数据库连接,执行SQL查询,并得到结果集合。Java2 的java.sql包提供了6个类和18个接口,下文将介绍;另一是面向底层数据库厂商的JDBC Drivers ,目前为止,Java2的JDBC Drivers仅提供下述四种类型的数据库驱动方式,且各有利弊:

1、JDBC-ODBC bridge plus ODBC driver 方式:JDBC-ODBC 桥接方式利用微软开发的数据库互连接口(ODBC API)通数据库服务器通讯,客户端计算机首先应该安装并配置 ODBC driver 和JDBC-ODBC bridge两种驱动程序。这是Applets访问你

的数据库最可能的解决方式,但这对Internet和Intranet用户而言简直是一个非常令人讨厌和麻烦的解决方案。

由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通行方式如图所示:

应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源

具体操作方法为:

首先打开控制面板的管理工具,打开数据源(ODBC),在用户DSN里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL SERVER 2000的GoodsSupply 数据库。名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置,如果选用了使用SQL-SERVER密码认证的话,就要输入相应的用户名及密码连接到数据库。一路下一步设置完成。

目前JDBC支持以下几种类型的驱动程序:

(1)类型1,该类驱动程序负责将JDBC转换为ODBC,并用一个ODBC驱动程序与数据库进行通信。Sun的Java提供(sun.jdbc.odbc.JdbeOdbcDriver)JDBC—ODBC桥接驱序。这类驱动程序必须在服务器端安装好ODBC驱动程序,然后通过JDBC—ODBC的调用方法,进而通过ODBC来访问数据库。适用于没有提供JDBC驱动的数据库如Access。

(2)类型2,该类驱动程序是部分使用Java语言编写和用本机代码编写的驱动程序,这类驱动程序也必须先在计算机上安装好特定的驱动程序(类似ODBC),然后通过桥接器的转换,把JavaAPI调用转换成特定驱动程序的调用方法,进而存取数据库。

(3)类型3,该类驱动程序负责将JDBC命令转换为数据库系统无关的网络协议,将数据库访问请求传给服务器。然后服务器将访问请求转换成特定的数据库协议。

(4)类型4,该类驱动程序负责将JDBC访问请求直接转换为特定数据库系统协议。不但无需再使用计算机上安装任何额外的驱动程序,也不需在服务器端安装任何中间程序,所有存取数据库的操作都直接由驱动程序来完成。

2、Native –API partly Java driver方式:这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码,使Java数据库客户方与数据库服务器方通信。例如:Oracle用SQLNet协议,DB2用IBM的数据库协议。数据库厂商的特殊协议

也应该被安装在客户机上。这也是令人讨厌和麻烦的解决方案。

3、 JDBC-Net pure Java driver方式:这种方式是纯Java driver。数据库客户以标准网络协议(如HTTP、SHTTP)同数据库访问服务器通信,数据库访问服务

器然后翻译标准网络协议成为数据库厂商的专有特殊数据库访问协议(也可能用到ODBC driver)与数据库通信。对Internet和Intranet 用户而言这是一个理想的解决方案。Java driver被自动的,以透明的方式随Applets自Web服务器而下载并安装在用户的计算机上。

4、 Native-protocol pure Java driver方式:这种方式也是纯Java driver。数据库厂商提供了特殊的JDBC协议使Java数据库客户与数据库服务器通信。然而,将把代理协议同数据库服务器通信改用数据库厂商的特殊 JDBC driver。这对Intranet应用是高效的,可是数据库厂商的协议可能不被防火墙支持,缺乏防火墙支持在Internet应用中会存在潜在的安全隐患。

五、API概述

JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):

DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向

调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载

到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,sql执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。

六、连接API

JDBC 是个"低级"接口,也就是说,它用于直接调用SQL 命令。在这方面它的功能极佳,并比其它的数据库连接API 易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC 这样的低级接口。

在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java 对象进行操作;存取数据所需的SQL 调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例

如将多个表中的行结合进一个Java 类中。

随着人们对JDBC 的兴趣日益增涨,越来越多的开发人员一直在使用基于JDBC 的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入应用程序将自动调用所需的SQL 命令。在这样一种程序的协助下,即使用户根本不懂SQL 的语法,也可以执行数据库任务。

七、应用举例

(一)Java连接数据库SQL Server 2005(Java Connect to the Database SQL Server 2005)

Microsoft SQL Server 2005是一种广泛使用的数据库系统,具有强大的数据存储和管理能力。Vc++、Java等编程语言为数据库系统软件开发提供了良好的平台。对Java 连接数据库系统Microsoft SQL Server 2005作了详细的介绍。

SQL Server 2005数据库是目前世界上最为流行的数据库产品之,可以用于构建从小型的单用户系统到支持数万个并发用户的大中犁系统。由于在数据库并发性、安全性、可伸缩性、开发效率及完整的解决方案等方面的优越表现,SQEServer 2005数据库在管理信息系统、企业数据处理、Internet及电子商务等领域取得了广泛的应用。(二)SQL 关系数据库与Java开发语言的融合

关系数据库系统提供r数据访问和控制的标准:SQL语言。

SQI 语言是一个综合的、通用的、功能极强的关系数据库语苦;SQL语言本身并不是一个很完整的编程语言,如它不支持流控制等。一般它都Ej其它的编程语言结合一起使用。JDBC就是将Java语言与SQt 结合的很好的编程接口。

(三)处理结果

八、数据库建立连接

建议链接的五大步骤:

1 加载(注册)数据库

2 建立链接

3 执行SQL语句

4 处理结果集

5 关闭数据库

教程:JDBC 入门作者:Maydene Fisher 翻译:comer

你需要做的第一事情是你与想要使用的DBMS 建立一个连接。这包含 2 个步骤:装载驱动程序并建立连接。

装载驱动程序

装载驱动程序只需要非常简单的一行代码。例如,你想要使用JDBC-ODBC 桥驱动程序, 可以用下列代码装载它:

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

你的驱动程序文档将告诉你应该使用的类名。例如,如果类名是jdbc.DriverXYZ ,你将用代码以下的代码装载驱动程序:

Class.forName("jdbc.DriverXYZ");

你不需要创建一个驱动程序类的实例并且用 DriverManager 登记它,因为调用Class.forName 将自动将加载驱动程序类。如果你曾自己创建实例,你将创建一个不必要的副本,但它不会带来什么坏处。

加载Driver 类后,它们即可用来与数据库建立连接。

建立连接

第二步就是用适当的驱动程序类与 DBMS 建立一个连接。下列代码是一般的做法:

Connection con = DriverManager.getConnection(url, "myLogin", "myPassword");

这个步骤也非常简单,最难的是怎么提供 url。如果你正在使用JDBC-ODBC 桥, JDBC URL 将以jdbc:odbc 开始:余下URL 通常是你的数据源名字或数据库系统。因此,假设你正在使用ODBC 存取一个叫 "Fred" 的 ODBC 数据源,你的JDBC URL 是jdbc:odbc:Fred 。把"myLogin" 及"myPassword" 替换为你登陆 DBMS 的用户名及口令。如果你登陆数据库系统的用户名为"Fernanda" 口令为"J8",只需下面的 2 行代码就可以建立一个连接:

String url = "jdbc:odbc:Fred";

Connection con = DriverManager.getConnection(url,"Fernanda", "J8");

如果你使用的是第三方开发了的 JDBC驱动程序,文档将告诉你该使用什么subprotocol,就是在JDBC URL 中放在jdbc 后面的部分。例如, 如果驱动程序开发者注册了acme 作为subprotocol, JDBC URL 的第一和第二部分将是jdbc:acme。驱动程序文档也会告诉你余下 JDBC URL 的格式。JDBC URL 最后一部分提供了定位数据库的信息。

如果你装载的驱动程序识别了提供给DriverManager.getConnection 的JDBC URL ,那个驱动程序将根据JDBC URL 建立一个到指定DBMS 的连接。正如名称所示,DriverManager 类在幕后为你管理建立连接的所有细节。除非你是正在写驱动程序,你可能无需使用此类的其它任何方法,一般程序员需要在此类中直接使用的唯一方法是 DriverManager.getConnection。

DriverManager.getConnection 方法返回一个打开的连接,你可以使用此连接创建JDBC statements 并发送SQL 语句到数据库。在前面的例子里,con 对象是一个打开的连接,并且我们要在以后的例子里使用它。

设置表

创建表

首先,我们在我们的示例数据库创建其中一张表 COFFEES,包含在咖啡店所卖咖啡的必要的信息,包括咖啡名字,他们的价格,本星期卖了多少磅及迄今为止卖的数目。

另外,我们应该指出的的是SQL 语句的格式。在CREATE TABLE 语句中,关键字采用大写字符,并且每个项目都另起一行。SQL 并没有此要求;仅仅是为了更容易阅读。SQL 标准是不区分关键词的大小写的,

然而,引号里的内容是区分大小写的:在名字"Washington" 里"W" 必须被大写,并且余下的字符必须是小写的。

对于标识,不同的 DBMS 有不同的要求,例如, 某些 DBMSs 要求那些列名及表名必须跟创建时的一样,有些则没有此要求。为安全起见,我们全部使用大写标识如COFFEES、SUPPLIERS,因为我们是那样定义他们的。

到止我们写了创建 COFFEES 表的 SQL 语句。现在我们在它外面加上引号(使它成为字符串),并且字符串赋值给变量createTableCoffees,在以后的 JDBC 代码中我们可以使用此变量。正如看到的,DBMS 并不在意分行,但对Java 语言来,String 对象分行是通不过编译的。因而,我们可以用加号 (+) 把每一行的串连接。

String createTableCoffees = "CREATE TABLE COFFEES " +

"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +

"SALES INTEGER, TOTAL INTEGER)";

我们在CREATE TABLE 语句中使用的数据类型是通用的 SQL 类型(也称 JDBC 类型)它们在类java.sql.Types 中定义。DBMSs 通常使用这些标准的类型,因此,当你要尝试一些 JDBC 应用程序时,你可以直接使用CreateCoffees.java 应用程序,它使用了CREATE TABLE 语句。如果你的DBMS 使用了它的自己的本地的类型名字,我们为你供应其它的应用程序,我们将在后面详细解释。

在运用任何应用程序前,当然,我们将让你了解 JDBC 的基础。

创建JDBC Statements 对象

Statement 对象用于把SQL 语句发送到DBMS 。你只须简单地创建一个Statement 对象并且然后执行它,使用适当的方法执行你发送的SQL 语句。对SELECT 语句来说,可以使用 executeQuery。要创建或修改表的语句,使用的方法是executeUpdate。

需要一个活跃的连接的来创建Statement 对象的实例。在下面的例子中,我们使用我们的 Connection 对象con 创建Statement 对象stmt:Statement stmt = con.createStatement();

到此stmt 已经存在了,但它还没有把SQL 语句传递到 DBMS。我们需要提供SQL 语句作为参数提供给我们使用的Statement 的方法。例如,在下面的代码段里,我们使用上面例子中的SQL 语句作为executeUpdate 的参数:

stmt.executeUpdate("CREATE TABLE COFFEES " +

"(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " +

"SALES INTEGER, TOTAL INTEGER)");

因为我们已经把 SQL 语句赋给了 createTableCoffees 变量,我们可以如下方式书写代码:

stmt.executeUpdate(createTableCoffees);

执行语句

我们使用executeUpdate 方法是因为在createTableCoffees 中的SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是DDL 语句的例子,要用executeUpdate 方法来执行。你也可以从它的名字里看出,方法executeUpdate 也被用于执行更新表 SQL 语句。实际上,相对于创建表来说,executeUpdate 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。

被使用最多的执行SQL 语句的方法是 executeQuery。这个方法被用来执行SELECT 语句,它几乎是使用最多的 SQL 语句。马上你将看到如何使用这个方法。

在表中输入数据

我们已经显示了如何通过指定列名、数据类型来创建表 COFFEES,但是这仅仅建立表的结构。表还没有任何数据。我们将次输入一行数据到表中,提供每列的信息,注意插入的数据显示顺序跟表创建时候是一样的,既缺省顺序。

下列代码插入一个行数据,COF_NAME 的值为 Colombian,SUP_ID 为101,PRICE 为 7.99,SALES 0,TOTAL 0。就象创建COFFEES 表一样,我们创建一Statement 对象,并执行executeUpdate 方法。

因为SQL 语句一行显示不下,因此我们把它分为两行,并用加号 (+) 相连。特别要注意的是,在COFFEES 和VALUES 之间要有空格。这个空格必须在引号之内并且要在COFFEES 跟VALUES 之间;没有这个空格,SQL 语句将被错误地被读作为"INSERT INTO COFFEESVALUES ...",并且 DBMS 将寻找表 COFFEESVALUES。还要注意的是在 coffee name 上我们使用了单引号。

Statement stmt = con.createStatement();

stmt.executeUpdate(

"INSERT INTO COFFEES " +

"VALUES ('Colombian', 101, 7.99, 0, 0)");

下面的代码把第二行插入到表COFFEES 中。我们可以在使用 Statement 对象而无须为每次执行创建一个新的。

stmt.executeUpdate("INSERT INTO COFFEES " +

"VALUES ('French_Roast', 49, 8.99, 0, 0)");

剩下行的数据如下:

stmt.executeUpdate("INSERT INTO COFFEES " +

"VALUES ('Espresso', 150, 9.99, 0, 0)");

stmt.executeUpdate("INSERT INTO COFFEES " +

"VALUES ('Colombian_Decaf', 101, 8.99, 0, 0)");

stmt.executeUpdate("INSERT INTO COFFEES " +

"VALUES ('French_Roast_Decaf', 49, 9.99, 0, 0)");

从表中取得数据

既然表COFFEES 中已经有数据了,我们就可以写一个SELECT 语句来取得这些值。下面的SQL 语句中星号(*) 表示选择所有的列。因为没有用WHERE 子句来限制所选的行,因此下面的SQL 语句选择的是整个表。

SELECT * FROM COFFEES

结果是整个表的数据,如下:

COF_NAME SUP_ID PRICE SALES TOTAL

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

Colombian 101 7.99 0 0

French_Roast 49 8.99 0 0

Espresso 150 9.99 0 0

Colombian_Decaf 101 8.99 0 0

French_Roast_Decaf 49 9.99 0 0

如果你直接在数据库系统里输入SQL 查询语句,你将在你的终端上看到如上的结果。当我们通过一个Java 应用程序存取一个数据库时,正如我们马上要做的一样,我们需要检索结果以便我们能使用他们。你将在下一节看到如何实现。

这是SELECT 语句的另一个例子,这将得到咖啡及其各自每磅单价的列表。

SELECT COF_NAME, PRICE FROM COFFEES

查询的结果集将具有如下形式:

COF_NAME PRICE

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

Colombian 7.99

French_Roast 8.99

Espresso 9.99

Colombian_Decaf 8.99

French_Roast_Decaf 9.99

上面SELECT 语句取得了所有咖啡的名字及价格。而下面的SELECT 语句限制那些每磅价格低于 $9.00 的咖啡才被选择。

SELECT COF_NAME, PRICE

FROM COFFEES

WHERE PRICE < 9.00

结果集将具有如下形式:

COF_NAME PRICE

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

Colombian 7.99

French_Roast 8.99

Colombian Decaf 8.99

JDBC 入门 -- 开始

你需要做的第一事情是你要正确的安装。这包含下列几个步骤:

在你的计算机上安装 Java 和JDBC

Java 数据库连接 (JDBC) 是一个标准 SQL(Structured Query Langurage,结构化查询语言)数据库访问接口, 可以为多种关系数据库提供统一访问。JDBC (JavaDataBaceConnection,Java 数据库连接)也提供一种基准,据此可以构建更高级的工具和接口。目前的JDK(Java Development Kit,Java 开发工具包)软件捆绑包括JDBC 和 JDBC-ODBC(Open DataBase Connection,开放式数据库连接)桥。这些包也可独立得到,以跟JDK 1.0 一起使用。应该注意的是,本文的示例使用了 JDBC 2.0 接口,需要 JDK 2.0 来运行,不能在 JDK 1.1 下运行。

你的驱动程序应该有安装方法。为特定的DBMSs 写的JDBC 驱动程序安装时只要拷贝到你的计算机上就可以了。并不需要特殊的配置。

如果你下载的是Solaris 或Windows JDK1.1 版本,桥作为包sun.jdbc.odbc 与 JDK 一起自动安装。有关安装和配置 ODBC 的信息,请咨询ODBC 驱动程序厂商。桥无须特殊配置。有关客户机安装和配置信息,请咨询数据库厂商。

如果需要,安装数据库系统

如果你不能确认是否安装了数据库系统,你需要按照供应商的要求安装数据库。大多数用户都已经安装了数据库,可继续使用他们安装好的数据库。

配置数据库

我们假设数据库 COFFEEBREAK 已经存在。(创建一个数据库并不困难,但需要一定的权限并通常是由数据库管理员来做)你还需要在此数据库里创建本教程作为例子使用的表。我们有意限制表的大小跟及数目,以便于管理。

假设我们的数据库是在一个咖啡馆里使用,咖啡豆按磅卖,而咖啡则以杯为单位。为了简单起见,还假定经营者只需要 2 张表,分别存放不同种类的咖啡及咖啡供应商的有关信息。

首先我们演示怎么打开一个 DBMS 连接,及JDBC 是怎么发送 SQL 语句到你的DBMS。通过这些代码,我们将表明使用JDBC 传递 SQL 语句到你的 DBMS 并处理返回的结果是非常简单的。

所有的代码在主要的几个 DBMS 产品做了测试。然而, 如果你使用JDBC-ODBC 桥来连接旧版本 ODBC 驱动程序时,可能会遇到一些兼容性问题。

九、执行结果

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get 方法可以访问当前行中的不同列)提供了对这些行中数据的访问。ResultSet.next方法用于移动到ResultSet中的下一行,使下一行成为当前行。

1. 行和光标

ResultSet维护指向其当前数据行的光标。每调用一次next方法,光标向下移动一行。

2. 列

方法getXXX提供了获取当前行中某列值的途径。在每一行内,可按任何次序获取列值。但为了保证可移植性,应该从左至右获取列值,并且一次性地读取列值。

3. 数据类型和转换

对于getXXX方法,JDBC驱动程序试图将基本数据转换成指定Java类型,

4. 对非常大的行值使用流

ResultSet可以获取任意大的LONGVARBINARY或LONGVARCHAR数据。方法getBytes 和getString将数据返回为大的块(最大为Statement.getMaxFieldSize的返回值)。

5. NULL结果值

要确定给定结果值是否是JDBC NULL,必须先读取该列,然后使用ResultSet.wasNull

方法检查该次读取是否返回JDBC NULL。

6. 可选结果集或多结果集

通常使用executeQuery(它返回单个ResultSet)或executeUpdate(它可用于任何数据库修改语句,并返回更新行数)可执行SQL语句。但有些情况下,应用程序在执行语句之前不知道该语句是否返回结果集。此外,有些已存储过程可能返回几个不同的结果集和/或更新计数。

用户不必关闭ResultSet;当产生它的Statement关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被Statement自动关闭。

参考文献:

[1] 李立春,刘卓.数据库连接池设计[J].吉林化工学院学报,2006,23(2):45-46

[2]Bruce Eckel.Java 编程思想[M].第四版.北京:机械工业出版社,2007.

[3]侯晓强,刘艳慧,精通JAVA2[M].北京:科学出版社,2003

[4]Herbert Schildt.JAVA2参考大全[M].北京:清华大学出版社,2002

[4]百度百科

Abstract:

Java is the world 's most widely used a network programming language, many of today's system is written in Java programming; again involved in the more important is the database, Java itself to provide various types of mainstream database support, through the java.sql library, provides a unified interface, which can be in the Java environment no need to do large-scale modification program, as long as the corresponding change of the driver, can be achieved on all kinds of database operation. So far, Java2 JDBC Drivers only provides the following four types of database driver.

Introduction.

Along with the computer application unceasingly thorough, all kinds of information management system and the database is more and more close, the application of data over time of rapid growth, the importance of the database also increasing obviously.

Java database connectivity ( Java, Database Connectivity, referred to as JDBC ) is the Java language used to standardize the client program to access the database application program interface, provide such as query and update data in a database method. JDBC Sun Microsystems is the trademark of 1. It is JDBC oriented relational database.

Java中连接MySql数据库的几种方法

JDBC Java中JDBC定义了java与各种sql数据库之间的编程接口,JDBC API是一个统一的标准应用程序编程接口,这样可以屏蔽异种数据库之间的差异。 JDBC的工作原理 JDBC与ODBC(OpenData Base Connectivity,开放式数据库连接)的作用非常类似,它在应用程序和数据库之间起到了桥梁的作用。ODBC使用的特别广泛,在java中还提供了JDBC-ODBC桥,能够在JDBC与ODBC之间进行转换,这样可以通过ODBC屏蔽不同种数据库之间的差异。在JDK的包java.sql.*中定义了一系列的类、接口、异常以及这些类和接口中定义的属性和方法,java的开发人员通过一定的规则调用java.sql.*中的API就可以实现对数据库管理系统的访问。 JDBC的四种驱动 1.JDBC-ODBC Bridge JDBC-ODBC Bridge可以访问一个ODBC数据源,但在执行Java程序的机器上必须安装ODBC驱动,并作出配置,它的调用方式如下图: 因为中间有个JDBC-ODBC,所以影响了执行效率。 配置ODBC数据源的方法如下(以Mysql为例): 第一步,打开控制面板—>管理工具--->数据源(ODBC) 选择系统DSN,这一项默认应该是空的,我这里是已经配置好了一个数据源。

第二步,点击添加 第三步,选择Mysql的ODBC驱动,点击完成。 注:MySQL的ODBC驱动在系统中一般是找不到的,因为它不是系统默认自带的驱动,所以,我们要自己安装我们所需要的MySQL的ODBC驱动。安装步骤如下: ①.下载安装包,https://www.wendangku.net/doc/0f14941439.html,/downloads/connector/odbc/ ②.我们下载与自己系统相应的ODBC驱动 这里我们选择

Java 实现连接sql server 2000(JDBC数据库访问例子)

第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere)、优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力)、网络通信功能、通过JDBC数据库访问技术等等,让我们谁都不可否认JAVA语言是SUN公司对于计算机界的一个巨大的贡献。笔者可以描述这样一个场景:有一天你上网完全可以不用IE 或者NETSCAPE,上网就像是玩游戏,你可以获得游戏那么精美的图像和互动的感觉,如果你玩过UO,也许你就知道那种感觉了,但是JAVA做成的东西一定会超过UO的,因为不单单是游戏,也不是单单是浏览器,如果你愿意(要你有钱,有时间,有优秀的JAVA人才)你可以把所有的这一切用Java完全集成出来!!!我不是夸大JAVA的功能,大家可以访问一下 https://www.wendangku.net/doc/0f14941439.html,的那个社区程序,你就能找到一种感觉了:相信我没有说什么假话。好了,不说废话了,现在我向你介绍JAVA的数据库访问技术 ----JDBC数据库访问技术(你可千万不要搞成ODBC了!)。 JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)(Sun这样说的,我也不知道是不是真的),而且现在的JDBC 3.0据Sun 说也能访问Execel等电子表格程序! JDBC对于数据库的访问有四种方式,我们这里只是介绍两种: 第一种是通过ODBC做为“桥”(Bridge)对数据库访问,第二种是直接对数据库访问。 我们先来看看第一种JDBC<-->ODBC访问的流程: JDBC Driver Mannager->JDBC<->ODBC桥->ODBC->数据库客户机驱动库->数据库服务器->返回查询结果,在这种访问中值的我们注意的是虽然JAVA是"Write Once ,Run Anywhere",但是如果通过这种访问的话,需要客户端必须设置ODBC和有相应的数据库客户机的驱动,当你看了下面的另外一个流程的时候或许你会想:明明下一种更方面,为什么还要有这个东西的产生!呵呵,因为,未必所有的数据库服务器提供商都提供下面的JDBC驱动程序(给JDBC访问提供相应的接口),所以就有了JDBC<->ODBC Bridge。 接着再让我们来看看第二种访问流程: JDBC Driver Mannager->局部JDBC驱动->客户端数据库->数据库服务器->返回查询结果,这种访问事实上是转换JDBC调用为相应的数据库(Oracle, Sybase, Informix, DB2, 和其他的数据库数据库管理系统)的客户端API调用(这么说,不知道大家能不能懂,说简单点就好像ASP不是通过DSN对数据库访问而是通过OLEDB访问,说道这里我还是不知道大家能不能明白我的意思。哎呀,不要扔鸡蛋嘛!),这种方式的访问需要相应的数据库提供商提供相应的JDBC 驱动程序,但是有一种好处,可以独立于odbc用于可以随处可Run的客户端的浏览器中的Applet程序。

完整java连接数据库步骤

完整java开发中JDBC连接数据库代码和步骤 JDBC连接数据库 ?创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过https://www.wendangku.net/doc/0f14941439.html,ng.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驱动程序类,加载驱动失败!"); e.printStackTrace() ; } 成功加载后,会将Driver类的实例注册到DriverManager类中。 2、提供JDBC连接的URL ?连接URL定义了连接数据库时的协议、子协议、数据源标识。 ?书写形式:协议:子协议:数据源标识 协议:在JDBC中总是以jdbc开始 子协议:是桥连接的驱动程序或是数据库管理系统名称。 数据源标识:标记找到数据库来源的地址与连接端口。 例如:(MySql的连接URL) jdbc:mysql: //localhost:3306/test?useUnicode=true&characterEncoding=gbk ; useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为 gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。 3、创建数据库的连接 ?要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。 ?使用DriverManager的getConnectin(String url , String username , String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。 例如: //连接MySql数据库,用户名和密码都是root String url = "jdbc:mysql://localhost:3306/test" ; String username = "root" ; String password = "root" ; try{ Connection con = DriverManager.getConnection(url , username , password ) ; }catch(SQLException se){ System.out.println("数据库连接失败!"); se.printStackTrace() ; }

Java连接各种数据库写法

随笔- 6 文章- 0 评论- 1 Java连接各种数据库写法 # 示例配置参考,涵盖几乎所有的主流数据库 ############# Oracle数据库######################## # 数据库驱动名 driver=oracle.jdbc.driver.OracleDriver # 数据库URL(包括端口) dburl=jdbc:oracle:thin:@127.0.0.1:1521:zvfdb # 数据库用户名 user=root # 用户密码

password=zvfims ############# DB2数据库######################## # 数据库驱动名 driver=com.ibm.db2.jcc.DB2Driver # 数据库URL(包括端口) dburl=jdbc:db2://127.0.0.1:50000/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# MySQL数据库######################## # 数据库驱动名

driver=com.mysql.jdbc.Driver # 数据库URL(包括端口) dburl=jdbc:mysql://127.0.0.1:3306/zvfdb # 数据库用户名 user=root # 用户密码 password=zvfims ############# PostgreSQL数据库数据库######################## # 数据库驱动名 driver=org.postgresql.Driver # 数据库URL(包括端口) dburl=jdbcostgresql://127.0.0.1/zvfdb

java平时最常用的7种数据库连接方式

今天总结了java平时最常用的7种数据库连接方式,现在分享给大家 MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name 为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password); Microsoft SQL Server: 1) String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); // 2) String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接SQL数据库的方法 String URL="jdbc:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).new Instance(); //加载数据可驱动 Connection con=DriverManager.getConnection(URL,UserName,Password); Sysbase: String Driver="com.sybase.jdbc.SybDriver"; //驱动程序 String URL="jdbc:Sysbase://localhost:5007/db_name"; //db_name为数据可名 String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); Connection con=DriverManager.getConnection(URL,Username,Password); Oracle(用thin模式): String Driver="oracle.jdbc.driver.OracleDriver"; //连接数据库的方法String URL="jdbc:oracle:thin:@loaclhost:1521:orcl"; //orcl为数据库的SID String Username="username"; //用户名 String Password="password"; //密码 Class.forName(Driver).newInstance(); //加载数据库驱动

java数据库连接方法

一、问题引入 在java程序中,需要访问数据库,做增删改查等相关操作。如何访问数据库,做数据库的相关操作呢? 二、Java连接数据库方法概述 java.sql提供了一些接口和类,用于支持数据库增删改查等相关的操作。该jar包定义了java访问各种不同数据库(mysql,oracle,sqlserver。。。。。)的统一接口和标准。同时,各个数据库厂商都提供了该jar包中定义的各个接口的实现类,用于具体实现本厂数据库的增删改查操作,即称之为“数据库驱动jdbc driver”。例如mysql的数据库驱动为:com.mysql.jdbc.driver;oracle的数据库驱动为:oracle.jdbc.driver.oracledriver。在java程序中访问数据库,做数据库连接时,可以采用两种方式: 1、使用java.sql API 利用该包提供的各种接口和类直接访问数据库。 例子: 2、使用数据库连接池 目前存在多个开源的java数据库连接池,这些连接池都是在java.sql基础上编写而成。 该连接池的解决的问题是: 当使用java.sql中提供的api创建数据库连接时候,需要耗费很大的资源,要进 行用户名密码数据库连接验证等,即耗费资源也耗费时间。如果在程序中,每次需 要访问数据库时候,都进行数据库连接,那么势必会造成性能低下;同时,如果用 户失误忘记释放数据库连接,会导致资源的浪费等。而数据库连接池就是解决该问 题,通过管理连接池中的多个连接对象(connection),实现connection重复利用。 从而,大大提高了数据库连接方面的性能。 该连接池的功能是: 负责创建,管理,释放,分配数据库连接即(connection)。首先,负责创建相应 数目的数据库连接对象(connection)对象,并存放到数据库连接池(connect pool)中。当用户请求数据库连接时,该连接池负责分配某个处于空闲状态的数据库连接 对象;当用户发出释放该数据库连接时,该连接池负责将该连接对象重新设置为空

java图形界面以及链接数据库

import .*; import .*; import .*; public class NoteTextArea extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JButton[] jb = new JButton[4]; private JComboBox box; private JTextArea jt=new JTextArea(); private JScrollPane js=new JScrollPane(jt,,; private String[] obj; private JTextField text = new JTextField(); public NoteTextArea() { (null); String[] obj = new String[]{"微笑","生气","难过","得意"}; box = new JComboBox(obj); JLabel j1 = new JLabel("留言版"); JLabel j2 = new JLabel("你"); JLabel j3 = new JLabel("地说:"); jb[0] = new JButton("清屏"); jb[1] = new JButton("至顶"); jb[2] = new JButton("至尾"); jb[3] = new JButton("提交"); for(int i = 0;i < 3;i++) {

jb[i].setBounds(650,i*75+55,100,50); } for(int i = 0;i < 3;i++) { (jb[i]); } (280,10,50,30); (20,375,30,50); (55,385,80,30); (160,375,40,50); (210,385,300,30); jb[3].setBounds(520,365,75,50); (10,50,600,300); (j1); (j2); (j3); (box); (text); (jb[3]); (js); for(int i=0;i<=3;i++) { jb[i].addActionListener(this); } (false); (true); ("留言内容:");

Java连接数据库全过程

Java连接数据库全过程 第一次用java连接数据库,开始竟然不知道从哪里下手,后看了很多书,请教了很多高手,忙了一天才连接上,所以我把这个详细的过程整理出来贡献给大家,不当的地方,希望大家告诉我,一定更正。 要准备的软件: 1.操作系统:windows xp或其他系统; 2.java运行环境:JDK 官方下载网址:https://www.wendangku.net/doc/0f14941439.html,/javase/downloads/index.jsp 3.数据库:SQL server 2000; 下面是java连接数据库需要更新的东西,不然连不上的: 1安装SQL SP3补丁:“SQLSERVER2000SP3补丁.exe”,和普通的程序安装一样。 2.把3个jar包:“msbase.jar”,“mssqlserver.jar”,“msutil.jar”加到classpath中,具体的安装方法我已经详细整理:“Java连接数据库配置——加载jar包”。 Java连接数据库的核心程序文件:"TestConnect.java"如下 //TestConnect.java import java.sql.*; public class TestConnect { private Connection con=null;//Connection:与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 String dbDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//声明数据库驱动名(这个是微软的驱动名) //String dbDriver="sun.jdbc.odbc.JdbcOdbcDriver";//sun驱动程序名 //String dbUrl="jdbc:odbc:lhs"; String dbUrl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=lhs";//数据库驱动程序URL,和相应的驱动配套。 String dbUser="sa";//定义数据库登陆用户名 String dbPasw="123";//定义相应用户的登陆密码 //创建数据库连接 public void connect()

JAVA SWING 连接数据库的步骤

Java swing连接数据库的步骤 1.在工程中导入3个jar包,详见(导入Jar包的过程.doc) 2.在类中导入包 a)import java.sql.*; b)import com.microsoft.jdbc.sqlserver.*; 3.声明连接对象,执行语句对象,结果集对象 a)Connection conn=null; b)Statement stmt=null; c)ResultSet rs=null; 4.定义连接字符串 a)final String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver"; b)final String DBURL="jdbc:microsoft:sqlserver://127.0.0.1:1433;DataBaseName=pubs"; c)final String USER="sa"; d)final String PASS=""; 5.创建连接对象 try{ Class.forName(CLASSFORNAME); conn=DriverManager.getConnection(DBURL,USER,PASS); }catch(SQLException e){ System.out.println(e.getMessage()); }catch(ClassNotFoundException ex){ JOptionPane.showMessageDialog(this,"练苦失败"); return; }

6.创建执行语句对象stmt try{ String sql="insert into users values('name1','pass1')"; //上一行代码可以写成下一行的方式,试分析它的作用是什么? //String sql="insert into users values('"+name+"','"+pass+"')"; stmt=conn.createStatement(); stmt.executeUpdate(sql); }catch(SQLException ex1){ } 7.完毕

java连接到各种数据库的方法

此文中的代码主要列出连接数据库的关键代码,其他访问数据库代码省略 1、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password); 2、DB2数据库 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); 3、Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance (); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); 4、Sybase数据库 Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB"; //myDB为你的数据库名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); 5、Informix数据库 Class.forName("https://www.wendangku.net/doc/0f14941439.html,rmix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager.getConnection(url);

Java连接MySQL 数据库

Java连接MySQL 数据库的正确操作流程 时间:2010-05-25 15:41 来源:博客园字体:[大中小] 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例),我们主要是以MySQL数据库为例讲下Java正确连接MySQL数据库的实际操作流程,以下就是对其详细内容的描述。 当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动MySQL-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的 MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下: “我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。 环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。 我是用SQLyog的前端软件来创建Database的。 先创接MySQL 数据库: 1.CREATE DATABASE SCUTCS; 接着,创建表: 1.CREATE TABLE STUDENT 2.( 3.SNO CHAR(7) NOT NULL, 4.SNAME VARCHAR(8) NOT NULL, 5.SEX CHAR(2) NOT NULL, 6.BDATE DATE NOT NULL, 7.HEIGHT DEC(5,2) DEFAULT 000.00, 8.PRIMARY KEY(SNO) 9.); 然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, ...); 也可以用SQLyog来操作

java语言的数据库访问技术试题

一、选择题 1.Java中,JDBC是指() A. Java程序与数据库连接的一种机制 B.Java程序与浏览器交互的一种机制 C.Java类库名称 D.Java类编译程序 2.在利用JDBC连接数据库时,为建立实际的网络连接,不必传递的参数是() A. URL B.数据库用户名 C.密码 3.J2ME是为嵌入式和移动设备提供的Java平台,它的体系结构由( )组成。 A. Profiles B.Configuration C.OptionalPackages D. 以上都是 4.J2EE包括的服务功能有() A. 命名服务JNDI(LDAP)和事务服务JTA B. 安全服务和部署服务 C.消息服务JMS和邮件服务JavaMail D.以上都是 5.JDBC的模型对开放数据库连接(ODBC)进行了改进,它包含() A. 一套发出SQL语句的类和方法 B. 更新表的类和方法 C.调用存储过程的类和方法 D. 以上全部都是 6.JDBC中要显式地关闭连接的命令是() A.Connection.close() B.RecordSet.close() C.Connection.stop() D.Connection.release() 7.TCP/IP系统中的端口号是一个( )位的数字,它的范围是0到65535。 A. 8 B.16 C.32 D.64 8.在Java编程语言中,TCP/IPsocket连接是用java.net包中的类实现的。其连接步骤和方法是 A. 服务器分配一个端口号。如果客户请求一个连接,服务器使用accept()方法打开 socket连接 B.客户在host的port端口建立连接 C.服务器和客户使用InputStream和OutputStream进行通信 D.以上全部 9.J2ME中的Profile定义应用系统的( )特性。 A. 生命周期模型 B. 用户界面 C. 访问设备 D. 以上全部都是 10.J2EE平台的优势不包括() A. 一次编程,任意运行 B. 应用独立于供应商、服务器、工具,构件的选择自由

Java 数据库连接

Java 数据库连接(数据库为bbs,数据源名为test) 1、直接连接mysql数据库(先把mysql的驱动加载到工程中:选中工程:右键property---javabuildpath---libraries:再选择AddExternalJARS找到驱动存放位置把它加载进来)package dbLink; package dbLink; import java.sql.*; public class DataBaseConnection { public static Connection getConnection(){ Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs","root","123"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public static void closeConnection(Connection conn){ if(conn!=null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } public static void closeResultSet(ResultSet rs){ if(rs!=null) try{ rs.close(); }catch(SQLException e){ e.printStackTrace(); } } public static void closePreparedStatment(PreparedStatement ps){ if(ps!=null) try{

如何成功将Java与mysql数据库连接

Java连接mysql数据库攻略 一.软件下载 Mysql 下载版本:4.1.11 https://www.wendangku.net/doc/0f14941439.html,/downloads/mysql/4.1.html JDBC驱动 下载版本:3.1.8 https://www.wendangku.net/doc/0f14941439.html,/downloads/connector/j/3.1.html Mysql界面插件:mysql-front 下载版本镜像:HongKong(我下回来安装就是中文版了) http://www.mysqlfront.de/download.html 二.软件安装 打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:

mysql安装向导启动,按“Next”继续

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom (用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程 在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server (mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation (文档)”也如此操作,以保证安装所有文件。点选“Change...”,手动指定安装目录。

java使用jdbc连接数据库的几种方式

编程技术 package db.util; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.util.HashMap; import java.util.List; import java.util.Vector; import https://www.wendangku.net/doc/0f14941439.html,mons.logging.Log; import https://www.wendangku.net/doc/0f14941439.html,mons.logging.LogFactory; public class DbUtil { public static final String _DefaultJNDI = "java:/comp/env/jdbc/shcnc"; private static Log log = LogFactory.getLog(DbUtil.class); /** * * Utility function to clean up db usage. * * * @param pResultSet * @param pStmt * @param pConn * * @exception java.sql.SQLException */ public static void cleanup(ResultSet pResultSet, Statement pStmt, Connection pConn) throws SQLException { try { if (pResultSet != null) { pResultSet.close(); pResultSet = null; } // https://www.wendangku.net/doc/0f14941439.html,("Finished cleaning up connection."); } catch (SQLException e) {

Java网络编程:连接网络数据库的多种方法

Java网络编程:连接网络数据库的多种方法 发表时间:2010-07-08T08:54:26.403Z 来源:《价值工程》2010年第1月下旬供稿作者:刘辉[导读] TCP/IP协议是一种面向连接的保证可靠传输的协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流。刘辉(沈阳职业技术学院,沈阳110045) 摘要:Java是一种跨平台、健壮、安全、可移植,适合于分布式计算机环境的面向对象的编程语言,由于用Java开发的程序可以在网络上传输,并运行于任何客户机上,所以使用Java语言开发网络应用程序得到了越来越广泛的应用。本文结合Java网络编程的特点,介绍了基于TCP/IP协议如何建立TCP Socker实现与网络数据库连接的几种常用方法。关键词:Java网络编程;TCP Socket ; 数据库中图分类号:TP31 文献标识码:A 文章编号:1006-4311(2010)03-0154-01 1 Java网络编程协议 Java网络编程的目的就是直接或间接地通过网络协议与其他计算机进行通讯,而广泛的应用之一就是连接到网络数据库上,从而获取网络资源。 网络上的计算机要互相通信,必须遵循一定的协议。Java网络编程支持现在广泛使用的网络协议:TCP/IP协议和UDP协议,但使用方法上是不同的。 1.1 使用TCP/IP协议 TCP/IP协议是一种面向连接的保证可靠传输的协议,通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方必须成对地建立两个socket连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket 可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操作。 1.2 使用UDP协议 UDP协议是一种无连接的协议,不保证信息的可靠传输,由Java技术中的DatagramSocket和DatagramPacket类支持。DatagramSocket对应TCP/IP协议下的Socket概念,但不需要创建两个socket,不可使用输入输出流。DatagramPacket数据包,是UDP协议下进行传输数据的单位,数据存放在字节数组中,其中包括了目标地址和端口以及传送的信息(所以不用建立点对点的连接)。 由于TCP/IP协议能够提供可靠的数据传输,如何在发送方和接收方建立Socket连接是关键的步骤,下面我们介绍目前比较常用的Java 程序中建立Socket的几种方法。 2 基于TCP/IP协议的Socket连接方法 Java中Socket连接的建立是通过Socket类实现的,通过重载的构造函数可以直接连接服务器,也可以建立未连接的Socket对象,并通过connect方法来连接服务器。此外,还支持自动或手动方式选择本机的IP地址。 2.1 通过构造函数直接连接服务器 (1)自动选择IP。 这种方式是最常用的。使用的构造函数有如下两种:在使用时只需要提供一个字符串类型的IP地址或域名以及一个整型的端口号即可,可能会抛出两个异常:UnknownHostException (提供的host并不存在或不合法)和IOException(其它的错误)。 这个构造函数只是将字符串形式的host改为InetAddress对象类型了,从而支持使用Socket类多次连接同一个IP或域名,效率比较高。在这个构造函数中只会发生IOException异常,UnknownHostException异常由InetAddress类抛出。 (2)手动绑定IP。 当本机有多块网卡或者在一个网卡上绑定了多个IP时,在连接服务器时也可以通过构造函数指定需要使用哪个IP。这时可以使用Socket类的另外两个构造函数来处理。 这两个构造函数的参数分为两部分,第一部分为前两个参数分别表示要连接的服务器的IP和端口号。第二部分为后两个参数,其中inetaddress1表示要使用的本地IP,而localPort则表示要绑定的本地端口号,在一般情况下将localPort设为0。 2.2 通过connect方法连接服务器 可以先建立未连接的Socket对象,再通过类的connect方法来连接服务器,还可以通过类的bind方法来绑定本地IP。 下面,通过一个实例来演示以上方法建立Socket连接。 假设有两台计算机:PC1和PC2。PC1绑定有两个IP:192.168.1.100和200. 200. 200.1。PC2绑定有一个IP:200. 200. 200.4。PC1和PC2的子网掩码都是255.255.255.0。而PC1的默认网关为:192.168.28.254。下面的代码需要在PC1上运行。 3 综述 Java网络编程可以支持多种协议,而在TCP/IP协议下建立Socket连接也有多种方法,其中IP地址和网关的设置都会影响连接的建立,还需要在应用时由编程者保证代码执行后连接的建立,才能执行之后的收发双方I/O通道的建立及通信过程。参考文献: [1]O'REILLY.Java网络编程[M].北京:电力出版社.

JavaWeb开发数据库连接操作详解

JAVA Web开发中与数据库的连接操作,配置等 数据库:postgre 9.0 开发环境:MyEclipise 8.5 作者:J蛋炒饭 Step 1:新建数据库。 新建登录角色,在新建数据库的时候把数据库的所有权交给你新建的角色。用用户和密码控制数据库。保证数据库的安全 Step 2:编写context.xml文件 Xml文件的目的是封装用户和密码,也是封装的一种,方便操作。 以下为context.xml文件样例: 详细说明: name="jdbc/sampleHS"里面的ssampHS是可改名称,建议根据需要自己命名;username="hstaoshu" password="hstaoshu"此两项为你新建的数据库登录角色用户名和密码信息,只有匹配了才能访问。这里简单为了表示,把用户名和密码弄成了跟数据库名字一样。其实这是很不安全的。 url="jdbc:postgresql://localhost:5432/hstaoshu"/> 这是连接数据库的URl,就像访问网站的地址一样。没有这个是无法访问数据库的。localhost:5432表示本地端口。一般不需要改动,如果你在配置数据库的时候改动过端口,那么你需要把它改回来。/hstaoshu是你的数据库名称。

相关文档
相关文档 最新文档