Java数据库连接的建立联接

作者&投稿:职贩 (若有异议请与网页底部的电邮联系)
java怎么和数据库连接~

使用java连接MySQL数据库与其他的数据库连接核心是一样的,如果说区别,那就是所需的驱动不一样。

工具/原料
MySQL、JDK

方法/步骤
1、首先需要安装好JDK(配置环境变量),如图所示:


2、其次要安装好MySQL数据库,可以使用可视化Navicar For MySQL,如图所示:

3、最后通过代码进行连接。
(1)确定连接路径URL:
String url="jdbc:mysql://localhost(可以是本机IP地址):3306(端口号)/mysqltest(数据库名称)?"+"user=用户账号&password=用户密码&useUnicode=字符编码";
(2)加载驱动:
Class.forName("com.mysql.jdbc.Driver");
(3)连接,获取Connection对象
Connection conn=DriverManager.getConnection(url)
(4)可以通过conn对象检验连接与否。

导入java.sql包
一、加载要连接数据库的驱动程序
//Jdbc-Odbc桥 和 Microsoft Access 数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驱动程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常
二、通过驱动程序管理器得到连接实例
Connection conn=null;
//1.
//1.1建立数据源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是数据源名称
//1-2、不建立数据源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");

注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序
它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)
三、基于连接对象建立处理器对象
Statement stmt=conn.createStatement();
四、准备sql命令
String sql="select * from Student";
五、执行命令返回结果集
ResultSet rs=stmt.executeQuery(sql);
六、显示结果集
while(rs.next())//只要后面有记录
{
//对当前行的所有字段遍历
for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//显示字段名
System.out.println(rs.getString(i));//显示字段当前值
}
System.out.println();
}


七、关闭资源

rs.close(); //关闭记录集
stmt.close(); //关闭处理器对象
conn.close(); //关闭连接对象


预处理器的应用:

//3.基于连接对象建立预处理器对象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");

//4.给预处理对象的参数赋值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");

//5.执行预处理命令
int i=pstmt.executeUpdate();
System.out.println(i+"条记录已成功插入!");

建议链接的五大步骤:
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 Language,结构化查询语言)数据库访问接口,可以为多种关系数据库提供统一访问。JDBC(Java DataBaseConnection,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 驱动程序时,可能会遇到一些兼容性问题。




hibernate连接数据库时候提示hibernate.dialect' must be set when...
必须设置数据库驱动类型,告诉hibernate是要用哪个数据库,因为每个数据库的sql语法规则不一样,只有正确指定数据库类型配置,hibernate才能正常的转换相应的sql语句,正常执行到数据库;--- 你看看数据库是不是正常启动着呢,有可能是数据库关闭了

ava.sql.SQLException: You have an error in your SQL syntax_百度知 ...
fileid是什么数据类型的?如果是数字的,试试把单引号去掉:String sql = "select * from tblFile where fileID=" + fileID;

Java开源框架是什么?
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet\/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,...

我家的AVA下好后 提取战地之王客户端资源 到了100%后就没了。怎么回事...
一个或多个ACCESS数据库被损坏的过程中,多个读写Microsoft MDAC受损的ACCESS文件被写入ASP线程BLOCK状态,结果其他线程只能等待,IIS僵局,所有的CPU时间消耗在DLLHOST。解决办法:一流信息监控拦截系统安装,使用的主要文件检察官的IIS健康检察官软件 查找死锁模块启用后,设置:- WBLOCK = YES 监控的目录,...

hibernate连接数据库时候提示'hibernate.dialect' must be set when...
连接数据库的配置文件(hibernate.cfg.xml)的配置信息发上来看看;错误显示你没有在这个配置文件中设置使用的数据库的引擎或者说方言

配了一台台式电脑玩ava战地之王但是很卡
玩ava特效全开时fps就30到60之间!延迟在90以上的基本是电脑问题。估计你被黑了,要么就是你丫吧那垂直同步打开了,4000的电脑就敢开垂直,6000的配置也吃不消。开了就是讨卡,没有任何作用。在tx的烂服务器下,大陆全开还不如外服开一半,这优化。。。

求救:jdbc_odbc链接oracle数据库失败,代码如下,运行后,显示:常连接到...
OCI驱动程序具有许多性能增强的特性,包括数据库连接池、从数据库中预取行。OCI驱动程序支持所有版本的数据库和所有支持的Oracle Net协议。15.3.3 服务器端内部驱动程序服务器端内部驱动程序提供对数据库的直接访问,Oracle JVM使用该驱动程序与数据库通信。Oracle JVM是一个Java虚拟机(Java Virtual Machine),它与数据库...

JAVA中的J2EE和J2SE.J2ME有什么不同?
cle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资 格成为用于多种用途Java开发的一个强大的工具。 Oracle9i JDeveloper的主要特点如下: ① 具有UML(Unified Modeling Language,一体化建模语言)建模功能。可以将业 务对象及e-business应用模型化。 ② 配备有高速Java调试器(Debuger)、...

js如何从mysql读取数据库啊
avaScript DataBase Connector JSDBC:提供Javascript有效的连接数据库,目前支持MySQL、SQLite、ACCESS,后期会支持更多的数据库;在从事AJAX开发的工程师肯定会希望有一个通过AJAX直接连接数据库的组件,这样,可以省掉后台很多的操作步骤,比如免去了部署JAVA的运行环境,免去了写很多复杂的JDBC调用,不管出于...

JDBC连接oracle数据库问题 ClassNotFoundException
环境变量CLASSPATH,.;G:\\oracleexe\\app\\oracle\\product\\11.2.0\\server\\jdbc\\lib\\ojdbc6_g.jar;在A.java所在的目录编译、运行,就要前面有.;,否则指向A.java所在目录 PATH中添加G:\\ProgramFiles\\Java\\jdk1.7.0_40\\bin —— 记住:是添加 ...

江津区13194382367: 如何建立Java程序与SQL数据库的连接? -
石采雪孜: 两种方式: 1、jdbc-odbc连接,也叫桥连接. 驱动字符串:sun.jdbc.odbc.jdbcodbcdriver 连接字符串:jdbc:odbc:数据源名称 2、jdbc,也叫直连接 需要驱动包,并且要将驱动包复制到:jdk安装路径\jre\lib\ext\下,或通过ide将驱动包加载到程...

江津区13194382367: Java数据库连接的建立方法是什么?
石采雪孜: 首先,它们应允许不同的驱动程序使用不同的方案来命名数据库

江津区13194382367: java如何连接数据库? -
石采雪孜: 通过JDBC(Java DataBase Connectivity),它可以帮你屏蔽掉一些细节.但链接每个不同的数据库其中的操作,不同的语句还是被体现在程序中的.链接数据库的方法是程式化的,就是那么几个句子.下面是我自己的一个链接mySQL的代码,你...

江津区13194382367: 如何实现java与数据库的连接 -
石采雪孜: JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤:1、加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className...

江津区13194382367: 在java中数据库连接的四个步骤?以JDBC为例子(Java DataBase Connectivity) -
石采雪孜: 1.加载驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); 2. 建立连接 Connection conn = DriverMananger.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","用户名","密码"); 3 执行查询4 关闭数据库连接

江津区13194382367: JAVA的数据库怎么连
石采雪孜: 1.引进所要的JDBC packag:eInmport java.sql.* 2.新建适用的JDBC驱动程序:Class.forName("net.sourceforge.jtds.jdbc.Driver") 3.通过JDBCURL取得数据库连接:Connection con=DriverManager.getConnection("s") 4.建立SQL语句对象 :...

江津区13194382367: 用JAVA怎么样与数据库进行连接?
石采雪孜: 你好,由于你没有说明是利用java连接那一种数据库,所以我这里给你列出了常用的几种数据库连接实例,为方便阅读和你进行测试,我这里用jsp使用为例.事实上java一般与jsp结合. 连接Oracle8/8i/9i数据库(用thin模式) <%@ page ...

江津区13194382367: Java数据库连接的建立联接是如何建立的?
石采雪孜: 我一本正经地胡说一下吧. jdbc输入数据我们已经显示了如何通过指定列名、数据类型来创建表COFFEES,但是这仅仅建立表的结构

江津区13194382367: java如何连接mySQL数据库? -
石采雪孜: 1.下面代码是使用jdbc直接来链接mysql的操作,方式与SQL SERVER类似,区别在于加载的驱动不同,url的设置也有点区别.2.执行脚本返回的结果,可以看出java成功链接上mysql并获取到返回值3.mysql-connector-java-5.1.26-bin.jar是java链...

江津区13194382367: 怎样将JAVA与数据库中的数据连接起来啊? -
石采雪孜: 用JDBC. 简单地说,JDBC 可做三件事:与数据库建立连接;发送 SQL 语句;处理结果.下列代码段给出了以上三步的基本示例: //与数据库建立连接 Connection con = DriverManager.getConnection ("jdbc:odbc:student ", "login", "...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网