java与数据库的连接_第1页
java与数据库的连接_第2页
java与数据库的连接_第3页
java与数据库的连接_第4页
java与数据库的连接_第5页
已阅读5页,还剩65页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 70 :java 数据库通常情况下,Java调用数据库包含了如下几部分:使用不带参数的存储过程使用带有输入参数的存储过程使用带有输出参数的存储过程使用带有返回状态的存储过程使用带有更新计数的存储过程1使用不带参数的存储过程使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列。不带参数的 call 转义序列的语法如下所示:call procedure-name作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程:SQL codeCREATE PROCEDURE GetContactForma

2、lNamesASBEGINSELECT TOP 10 Title + + FirstName + + LastName AS FormalNameFROM Person.ContactEND此存储过程返回单个结果集,其中包含一列数据(由 Person.Contact 表中前十个联系人的称呼、名称和姓氏组成)。在下面的实例中,将向此函数传递 AdventureWorks 示例数据库的打开连接,然后使用 executeQuery 方法调用 GetContactFormalNames 存储过程。Java codepublic static void executeSprocNoParams(Conn

3、ection con) .try .Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(call dbo.GetContactFormalNames);while (rs.next() .System.out.println(rs.getString(FormalName);rs.close();stmt.close();catch (Exception e) .e.printStackTrace();2使用带有输入参数的存储过程使用 JDBC 驱动程序调用带参数的存储过程时,必须结合 SQLServe

4、rConnection 类的 prepareCall 方法使用 call SQL 转义序列。带有 IN 参数的 call 转义序列的语法如下所示:call procedure-name(parameter,parameter.)构造 call 转义序列时,请使用 ?(问号)字符来指定 IN 参数。此字符充当要传递给该存储过程的参数值的占位符。可以使用 SQLServerPreparedStatement 类的 setter 方法之一为参数指定值。可使用的 setter 方法由 IN 参数的数据类型决定。向 setter 方法传递值时,不仅需要指定要在参数中使用的实际值,还必须指定参数在存储过程

5、中的序数位置。例如,如果存储过程包含单个 IN 参数,则其序数值为 1。如果存储过程包含两个参数,则第一个序数值为 1,第二个序数值为 2。作为如何调用包含 IN 参数的存储过程的实例,使用 SQL Server 2005 AdventureWorks 示例数据库中的 uspGetEmployeeManagers 存储过程。此存储过程接受名为 EmployeeID 的单个输入参数(它是一个整数值),然后基于指定的 EmployeeID 返回雇员及其经理的递归列表。下面是调用此存储过程的 Java 代码:Java codepublic static void executeSprocInPara

6、ms(Connection con) .try .PreparedStatement pstmt = con.prepareStatement(call dbo.uspGetEmployeeManagers(?);pstmt.setInt(1, 50);ResultSet rs = pstmt.executeQuery();while (rs.next() .System.out.println(EMPLOYEE:);System.out.println(rs.getString(LastName) + , + rs.getString(FirstName);System.out.printl

7、n(MANAGER:);System.out.println(rs.getString(ManagerLastName) + , + rs.getString(ManagerFirstName);System.out.println();rs.close();pstmt.close();catch (Exception e) .e.printStackTrace();3使用带有输出参数的存储过程使用 JDBC 驱动程序调用此类存储过程时,必须结合 SQLServerConnection 类的 prepareCall 方法使用 call SQL 转义序列。带有 OUT 参数的 call 转义序列

8、的语法如下所示:call procedure-name(parameter,parameter.)构造 call 转义序列时,请使用 ?(问号)字符来指定 OUT 参数。此字符充当要从该存储过程返回的参数值的占位符。要为 OUT 参数指定值,必须在运行存储过程前使用 SQLServerCallableStatement 类的 registerOutParameter 方法指定各参数的数据类型。使用 registerOutParameter 方法为 OUT 参数指定的值必须是 Java.sql.Types 所包含的 JDBC 数据类型之一,而它又被映射成本地 SQL Server 数据类型之一。

9、有关 JDBC 和 SQL Server 数据类型的详细信息,请参阅了解 JDBC 驱动程序数据类型。当您对于 OUT 参数向 registerOutParameter 方法传递一个值时,不仅必须指定要用于此参数的数据类型,而且必须在存储过程中指定此参数的序号位置或此参数的名称。例如,如果存储过程包含单个 OUT 参数,则其序数值为 1;如果存储过程包含两个参数,则第一个序数值为 1,第二个序数值为 2。作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程: 根据指定的整数 IN 参数 (employeeID),该存储过程也返回单个整数 OU

10、T 参数 (managerID)。根据 HumanResources.Employee 表中包含的 EmployeeID,OUT 参数中返回的值为 ManagerID。在下面的实例中,将向此函数传递 AdventureWorks 示例数据库的打开连接,然后使用 execute 方法调用 GetImmediateManager 存储过程:Java codepublic static void executeStoredProcedure(Connection con) .try .CallableStatement cstmt = con.prepareCall(call dbo.GetImme

11、diateManager(?, ?);cstmt.setInt(1, 5);cstmt.registerOutParameter(2, Java.sql.Types.INTEGER);cstmt.execute();System.out.println(MANAGER ID: + cstmt.getInt(2);catch (Exception e) .e.printStackTrace();本示例使用序号位置来标识参数。或者,也可以使用参数的名称(而非其序号位置)来标识此参数。下面的代码示例修改了上一个示例,以说明如何在 Java 应用程序中使用命名参数。请注意,这些参数名称对应于存储过程的

12、定义中的参数名称:SQL code CREATE PROCEDURE GetImmediateManageremployeeID INT,managerID INT OUTPUTASBEGINSELECT managerID = ManagerIDFROM HumanResources.EmployeeWHERE EmployeeID = employeeIDEND存储过程可能返回更新计数和多个结果集。Microsoft SQL Server 2005 JDBC Driver 遵循 JDBC 3.0 规范,此规范规定在检索 OUT 参数之前应检索多个结果集和更新计数。也就是说,应用程序应先检索

13、所有 ResultSet 对象和更新计数,然后使用 CallableStatement.getter 方法检索 OUT 参数。否则,当检索 OUT 参数时,尚未检索的 ResultSet 对象和更新计数将丢失。4 使用带有返回状态的存储过程使用 JDBC 驱动程序调用这种存储过程时,必须结合 SQLServerConnection 类的 prepareCall 方法使用 call SQL 转义序列。返回状态参数的 call 转义序列的语法如下所示:?=call procedure-name(parameter,parameter.)构造 call 转义序列时,请使用 ?(问号)字符来指定返回状

14、态参数。此字符充当要从该存储过程返回的参数值的占位符。要为返回状态参数指定值,必须在执行存储过程前使用 SQLServerCallableStatement 类的 registerOutParameter 方法指定参数的数据类型。此外,向 registerOutParameter 方法传递返回状态参数值时,不仅需要指定要使用的参数的数据类型,还必须指定参数在存储过程中的序数位置。对于返回状态参数,其序数位置始终为 1,这是因为它始终是调用存储过程时的第一个参数。尽管 SQLServerCallableStatement 类支持使用参数的名称来指示特定参数,但您只能对返回状态参数使用参数的序号位

15、置编号。作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程:SQL codeCREATE PROCEDURE CheckContactCity(cityName CHAR(50)ASBEGINIF (SELECT COUNT(*)FROM Person.AddressWHERE City = cityName) 1)RETURN 1ELSERETURN 0END该存储过程返回状态值 1 或 0,这取决于是否能在表 Person.Address 中找到 cityName 参数指定的城市。在下面的实例中,将向此函数传递 AdventureWor

16、ks 示例数据库的打开连接,然后使用 execute 方法调用 CheckContactCity 存储过程:Java codepublic static void executeStoredProcedure(Connection con) .try .CallableStatement cstmt = con.prepareCall(? = call dbo.CheckContactCity(?);cstmt.registerOutParameter(1, Java.sql.Types.INTEGER);cstmt.setString(2, Atlanta);cstmt.execute();

17、System.out.println(RETURN STATUS: + cstmt.getInt(1);cstmt.close();catch (Exception e) .e.printStackTrace();5 使用带有更新计数的存储过程使用 SQLServerCallableStatement 类构建对存储过程的调用之后,可以使用 execute 或 executeUpdate 方法中的任意一个来调用此存储过程。executeUpdate 方法将返回一个 int 值,该值包含受此存储过程影响的行数,但 execute 方法不返回此值。如果使用 execute 方法,并且希望获得受影响的

18、行数计数,则可以在运行存储过程后调用 getUpdateCount 方法。作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下表和存储过程:SQL codeCREATE TABLE TestTable(Col1 int IDENTITY,Col2 varchar(50),Col3 int);CREATE PROCEDURE UpdateTestTableCol2 varchar(50),Col3 intASBEGINUPDATE TestTableSET Col2 = Col2, Col3 = Col3END;在下面的实例中,将向此函数传递 Adve

19、ntureWorks 示例数据库的打开连接,并使用 execute 方法调用 UpdateTestTable 存储过程,然后使用 getUpdateCount 方法返回受存储过程影响的行计数。Java code public static void executeUpdateStoredProcedure(Connection con) .try .CallableStatement cstmt = con.prepareCall(call dbo.UpdateTestTable(?, ?);cstmt.setString(1, A);cstmt.setInt(2, 100);cstmt.ex

20、ecute();int count = cstmt.getUpdateCount();cstmt.close();System.out.println(ROWS AFFECTED: + count);catch (Exception e) .e.printStackTrace();本文来自: 朗沃Java培训(/) 详细出处参考: HYPERLINK /shujukujishu/7765_3.html /shujukujishu/7765_3.html Java连接数据库一般都是六步(具体的操作步骤会不同): 连接数据库之前要导入数据库相应的驱动包。 以MySQL数据库为例: 1.加载数据库驱

21、动 try Class.forName(com.mysql.jdbc.Driver); catch (Exception e) e.printStackTrace();/打印异常 2.连接数据库 try conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db, root,root);/获得数据库连接,用户名,密码,db:数据库名称 catch(Exception e) e.printStackTrace(); 3.创建执行语句 Statement stmt=conn.createStatement(); 4.返回结果。 Re

22、sultSet rs=stmt.createStatement(select * from db.table);5.处理结果 while(rs.next() rs.getString(username); rs.getString(password); 6.关闭所有连接(先打开的连接后关闭) rs.close(); stmt.close(); conn.close(); 首先,使用JDBC技术获取数据库连接:public static Connection getConnection() try Class.forName(oracle.jdbc.driver.OracleDriver); C

23、onnection con=DriverManager.getConnection(jdbc:oracle:thin:1521:orcl, root, root); return con; catch(Exception e) e.printStackTrace(); return null; Class.forName(数据库驱动);这是JVM在加载数据库驱动。DriverManager.getConnection(url,username,password);url是指连接数据库的地址。像上面我写的URL是这样的:jdbc:oracle:thin:1521:orcl是指本机,也可以用loc

24、alhost代替,1521是数据库端口号(本人用的是oracle10g),orcl是指oracle_sid。username/password数据库的用户名和密码。有的数据库的url可能不是这样。当然可以去网上查一下就知道了。这种连接方法是一次请求一次连接,是比较浪费资源的。像tomcat,weblogic等服务器都带有连接池来避免资源的浪费,而且现在好象有规定,只要是服务器就必须带有连接池。至于连接池的连接方法,不同的服务器有不同的获得方法。建议你用哪个就去学哪个。有连接就有关闭数据库,获得数据库连接后一定要记得关闭资源。public static void close(Connection

25、 con) if(con!=null) trycon.close();catch(Exception e) 为了方便,不防写成一个方法。获取连接后,然后使用这个连接去创建相应的Statement来操作数据库。有Statement,PerparedStatement,CallableStatement这几种statement可以用来创建。我们先看看Statement的使用。public static void main(String args) Connection con=JDBCUtil.getConnection(); Statement stat=null; ResultSet rs=n

26、ull; try String sql=select a_id,a_name,a_no from a; stat=con.createStatement(); rs=stat.executeQuery(sql); while(rs.next() System.err.println(rs.getInt(1)+/+rs.getString(2)+/+rs.getInt(3); catch(Exception e) e.printStackTrace(); JDBCUtil.close(rs,stat,con); 注释:stat=con.createStatement();是用连接创建Statem

27、ent对象。stat.executeQuery(sql);是执行查询语句。这个方法返回的是一个结果集。即ResultSet。可以将查询出来的结果放入结果集中。rs.next()这个方法返回的一个boolean类型的值,即当指针能够往下走时,返回true,否则返回false。这样就可以保证能够遍历这个结果集了。当然这里出现了Statement,ResultSet,那么close()方法也得变化了。如下:public static void close(ResultSet rs,Statement stat,Connection con) if(rs!=null) tryrs.close();ca

28、tch(Exception e) if(stat!=null) trystat.close();catch(Exception e) if(con!=null) trycon.close();catch(Exception e) 注意关闭顺序,一定是先ResultSet,后Statement,最后Connection.由于PerparedStatement和CallableStatement都是Statement的实现类,根据JAVA多态的用法,close()方法就算完全写完了,不用改了。现在来看看结果:2/all/21/hello/1=现在我们用PerparedStatement来查询:Co

29、nnection con=JDBCUtil.getConnection(); PreparedStatement stat=null; ResultSet rs=null; try String sql=select a_id,a_name,a_no from a where a_id=?; stat=con.prepareStatement(sql); stat.setInt(1, 1); rs=stat.executeQuery(); while(rs.next() System.err.println(rs.getInt(1)+/+rs.getString(2)+/+rs.getInt(

30、3); catch(Exception e) e.printStackTrace(); JDBCUtil.close(rs,stat,con);这里的sql语句里有一个值是未确定的。这样就可以实现预编译,大大提高了程序的运行效率。流程如下:stat=con.prepareStatement(sql);这个方法就将这个sql语句进行了一次编译,查看有没有什么明显的语法错误等。如果没错,再通过stat.setInt(1, 1);将缺失的值补回去然后再执行sql查询。PreparedStatement为批处理提供了一系统方法,让批查询、批更新等更加的效率。让我们看看结果:1/hello/1=Call

31、ableStatement是专门用于处理存储过程的。 java连接SQL Server2000(现在企业最常用的数据库就是SQL Server2000,所以只说这个,别的都是大同小异,连接access,mysql,Oracle数据库遇到问题的可以和我联系)java连接数据库一般有两种方式,一是通过jdbc/odbc桥(需要配置数据源),二是通过jdbc驱动.这里强烈推荐使用后者,因为前者涉及到jdbc到odbc转换的问题,执行效率很低.首先下载jdbc驱动包(用搜索引擎搜下,多如牛毛),安装之后,打开那个文件夹,会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可

32、以了假设驱动程序安装在d:sqldriver目录下,那么就在classpath中添加d:sqldrivermsbase.jar;d:sqldrivermssqlserver.jar;d:sqldrivermsutil.jar;注意:如果使用的是windows xp系统的sp2 版本,就需要给SQL Server2000打一个sp3a或者sp4的补丁.打完之补丁之后才可以使用测试代码(使用的是SQL Server自带的数据库,可以直接编译运行)import java.sql.*;public class SqlTesting public static void main(String args

33、) String url = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Northwind; String user =sa; String password = sa; String sqlStr = select CustomerID, CompanyName, ContactName from Customers; try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); System.out.println( ); Connection con =

34、DriverManager.getConnection( url, user, password ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( sqlStr ); while(rs.next() System.out.print(rs.getString(CustomerID) + ); System.out.print(rs.getString(CompanyName) + ); System.out.println(rs.getString(ContactName); rs.close();

35、 st.close(); con.close(); catch(Exception err) err.printStackTrace(System.out); Java数据库编程中sql server 2000的连接 悬赏分:10 | 解决时间:2009-10-22 08:19 | 提问者: HYPERLINK /?business&aid=6&un=%C9%D7%CD%B7%BB%FA%C6%F7%C8%CB l 2 t _blank 勺头机器人 import java.sql.*;public class DBMainpublic static void main(String args)

36、 String dbdriver=sun.jdbc.odbc.JdbcOdbcDriver; String dburl=jdbc:odbc:student_SQLServer; String dbuser=liyang; String dbpassword=wangxuegao; Connection con=null; Statement stmt=null; ResultSet rs=null; try Class.forName(dbdriver); con=DriverManager.getConnection(dburl,dbuser,dbpassword); stmt=con.cr

37、eateStatement(); rs=stmt.executeQuery(select * from qiang); while(rs.next() System.out.println(ID:+rs.getString(id); System.out.println(姓名+rs.getString(name); System.out.println(密码+rs.getString(password); System.out.println(年龄+rs.getInt(age); System.out.println(E-mail+rs.getString(email); System.out

38、.println(n); rs.close(); stmt.close(); con.close(); catch(Exception e) System.out.print(e); ava连接数据库的代码 位于MVC中的M(模型层)中,主要负责与数据库打交道。本人把我以前写的代码 加上注释 给你看看 希望对你有帮助。public class UserInfoDAO /验证登陆名/密码sql语句 /private 这个sql语句只在本类内部使用,没有必要public /static sql语句仅仅一份就足够了 /final sql语句一般在运行时不变,final修饰的变量相当于常量 /常量名所

39、有字母大写 private static final String SQL_CHECK_USERINFO = SELECT LOGINNAME,USERNAME,PASSWORD,AGE,ADDRESS FROM USERINFO WHERE LOGINNAME=? AND PASSWORD = ?; public UserInfoDAO() /* * 验证登陆名/密码方法 * param u UserInfo * return boolean */ public boolean checkUser(UserInfo u) boolean b = false;/验证是否成功的标识 Connec

40、tion conn = null;/数据库连接的引用 PreparedStatement pstmt = null;/PreparedStatement引用 ResultSet rs = null;/结果集引用 /调用ConnectionManager的方法,得到数据库里连接实例 conn = ConnectionManager.getConnection(); try /通过Connection的prepareStatement()方法构建PreparedStatement实例,参数为sql语句 pstmt = conn.prepareStatement(SQL_CHECK_USERINFO

41、); /为sql语句中的?赋值,注意序号从1开始 pstmt.setString(1, u.getLoginName(); pstmt.setString(2, u.getPassword(); /执行查询得到结果集 rs = pstmt.executeQuery(); /在结果集中循环,如果结果集中有记录意味着验证成功 b = rs.next();/标识置为true while (rs.next() b = true;/标识置为true catch (SQLException ex) System.out.println(ex.getMessage(); finally /注意:一定在fin

42、ally中释放数据库资源 cleanUP(rs, pstmt, conn); return b; private void cleanUP(ResultSet rs, PreparedStatement pstmt, Connection conn) try if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); if (conn != null) conn.close(); catch (SQLException ex) System.out.println(ex.getMessage(); java如何连接数据库 悬赏分:

43、0 | 解决时间:2010-7-12 09:53 | 提问者: HYPERLINK /?business&aid=6&un=%D6%DC%D6%DC%CF%FE%C0%F8 l 2 t _blank 周周晓励 如题最佳答案 Class.forName(oracle.jdbc.driver.OracleDriver).newInstance(); /加载驱动String url=jdbc:oracle:thin:localhost:1521:orcl; /orcl为数据库的SID String user=test; /数据库用户String password=test; /用户密码Connect

44、ion conn= DriverManager.getConnection(url,user,password); /获得连接java 如何连接数据库 悬赏分:0 | 解决时间:2011-2-20 18:40 | 提问者: HYPERLINK /?business&aid=6&un=lengjihappy l 2 t _blank lengjihappy 最佳答案 各种数据库使用JDBC连接的方式: 1、Oracle8/8i/9i数据库(thin模式) Class.forName(oracle.jdbc.driver.OracleDriver).newInstance(); String ur

45、l=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

46、=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 passwo

47、rd=; 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_

48、password); Connection conn= DriverManager.getConnection(url, SysProps); 5、Informix数据库 Class.forName(rmix.jdbc.IfxDriver).newInstance(); String url = jdbc:informix-sqli:/9:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword; /myDB为数据库名 Connection conn= DriverManager.getConnection(u

49、rl); 6、MySQL数据库 Class.forName(org.gjt.mm.mysql.Driver).newInstance(); String url =jdbc:mysql:/localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1 /myDB为数据库名 Connection conn= DriverManager.getConnection(url); 7、PostgreSQL数据库 Class.forName(org.postgresql.Driver).newInst

50、ance(); 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);

51、DBQ=+application.getRealPath(/Data/ReportDemo.mdb);Connection conn = DriverManager.getConnection(url,);Statement stmtNew=conn.createStatement() ;JAVA 如何连接数据库和 对记录集的访问 悬赏分:0 | 解决时间:2006-4-25 11:35 | 提问者: HYPERLINK /?business&aid=6&un=carlos1520 l 2 t _blank carlos1520 请适当加点注释 谢谢最佳答案 比如连接最常用的sql serve

52、r 需要下载jdbc驱动.下载jdbc驱动包,安装之后,打开那个文件夹,你会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可以了,象这样 假设你安在d盘的tomcatlib目录下,那么就是 d:sqldrivermsbase.jar;d:sqldrivermssqlserver.jar;d:sqldrivermsutil.jar;=import java.sql.*;public class SqlTesting public static void main(String args) String url = jdbc:microsoft:sqlserver:

53、/localhost:1433;DatabaseName=Northwind; String user =sa; String password = sa; String sqlStr = select CustomerID, CompanyName, ContactName from Customers; try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); Connection con = DriverManager.getConnection( url, user, password ); Statement s

54、t = con.createStatement(); ResultSet rs = st.executeQuery( sqlStr ); System.out.println( ! ); while(rs.next() System.out.print(rs.getString(CustomerID) + ); System.out.print(rs.getString(CompanyName) + ); System.out.println(rs.getString(ContactName); 00000000 rs.close(); st.close(); con.close(); cat

55、ch(Exception err) err.printStackTrace(System.out); 怎么用java连接数据库? 悬赏分:0 | 解决时间:2011-1-2 15:03 | 提问者: HYPERLINK /?business&aid=6&un=%CC%EC%D1%C4%BA%A3%BD%C7%BC%FB%D5%E6%C7%E9 l 2 t _blank 天涯海角见真情 最佳答案 首先需要导入相应数据库的驱动文件,然后要注动,Class.forname(driverName),获取Connection对象Connection conn=DriverManager.getConne

56、ction(URL);然后获取PreparedStatement对象PreparedStatement pst=conn.getPreparedState(sql,username,password)其中的username和password是你访问数据库的名称和密码;如果要使用到返回集合则可以用ResultSet对象接收,ResultSet rs=pst.executeQuery();不要使用到返回集合的话就直接pst.executeQuery();以上的可以查jdk1.mysql:driverName的值为:com.mysql.jdbc.Driver;url的值为:jdbc:mysql:/l

57、ocalhost:3306/hibernate其中hibernate是你的数据库名称2.sqlserver:driverName的值为:com.microsoft.sqlserver.jdbc.SQLServerDriver;url的值为jdbc:sqlserver:/localhost:1433;DatabaseName= + database,其中database是你数据库名称3.oracle:driverName的值为:oracle.jdbc.driver.OracleDriver;url的值:jdbc:oracle:thin:1521:ora92,其中ora92是你数据库名称;在哪下载

58、jdbc驱动包? 悬赏分:0 | 提问时间:2006-10-25 16:59 | 提问者: HYPERLINK /?business&aid=6&un=%CD%F5%D1%DE%C2%A5 l 2 t _blank 王艳楼 怎么配置?其他回答 共1条 去网上搜一下,很容易找到你要用的数据库提供的第三方包的,像oracle自己本身安装完就有。然后把下载的jar文件放在jdk安装目录下的jrelibext目录下就行了 JDBC数据库编程的研究来源:360论文网 更新时间:2010-8-5 文字: HYPERLINK javascript:SetFontSize(16); 大 HYPERLINK j

59、avascript:SetFontSize(14); 中 HYPERLINK javascript:SetFontSize(12); 小 摘要:在Web应用程序设计中,提升数据库的响应性能是改善应用性能的关键。基于JDBC的Web数据库应用中,使用JDBC的优化技术,改善数据模型,可提高Web应用程序的响应性能。关键词:Java JDBC JDBC API 数据库 优化0 引言目前,Web应用程序正在以非常快的速度在增长,Web应用程序不再是简单显示信息的网站,而逐渐融合核心的业务逻辑,成为IT领域的业务处理平台。Java以其面向对象、跨平台、安全性、健壮性等优秀特性已成为开发Web应用的主要

60、选择。基于JDBC的结构和应用模式JDBC是一种可用于执行SQL语句的Java API,由一些Java语言编写的类和接口组成。通过使用JDBC,开发人员可以很方便的将SQL语句传送给几乎任何一种数据库,有很好的可移植性。1 JDBC定义JDBC是由Java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将Java代码连接到Oracle、DB2、SQL Server、My SQL等数据库,从而实现对数据库中的数据进行操作的目的。JDBC类似与Microsoft的ODBC,但两者有很大的区别,JDBC是Java操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论