JDBC数据基础知识课件_第1页
JDBC数据基础知识课件_第2页
JDBC数据基础知识课件_第3页
JDBC数据基础知识课件_第4页
JDBC数据基础知识课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第十三章JDBC基础知识第十三章JDBC基础知识回顾JTable的用途如何使用JTableJTree的用途如何使用JTree2回顾JTable的用途2本章目标了解JDBC的概念及必要性了解JDBC驱动程序类型理解JDBC程序的结构运用JDBC进行数据库编程

3本章目标了解JDBC的概念及必要性3数据库访问技术简介

客户机/服务器应用程序数据库编程ODBCJDBC两个常用的API数据库执行SQL语句检索查询结果4数据库访问技术简介客户机/数据库ODBC客户机/服务器GUI应用程序ODBC(开放式数据库连接)(Microsoft提供)插入删除修改应用程序编程接口查询5数据库ODBC客户机/服务器ODBC插入删除修改应用JDBCJDBC(Java数据库连接)(sun公司提供)Java应用程序编程接口Java应用程序数据库插入修改删除查询6JDBCJava应用程序编程接口Java应用程序数据库JDBC驱动程序的类型JDBC驱动程序的类型JDBC-ODBC桥驱动程序及ODBC驱动程序本地API部分Java驱动程序JDBC-Net纯Java驱动程序本地协议纯Java驱动程序7JDBC驱动程序的类型JDBC驱动程序JDBC-ODBC

JDBC体系结构2-1Java程序JDBC驱动程序数据库SQL命令结果8JDBC体系结构2-1JDBC体系结构2-2应用层Driver

StatementResultSet

Connection

各接口驱动层9JDBC体系结构2-2应用层Driverjava.sql包3-1接口名说明

Connection此接口表示与数据的连接PreparedStatement此接口用于执行预编译的SQL语句

ResultSet此接口表示了查询出来的数据库数据结果集Statement此接口用于执行SQL语句并将数据检索到ResultSet中

10java.sql包3-1接口名说明Connectijava.sql包3-2类名说明

DriverManager此类用于加载和卸载各种驱动程序并建立与数据库的连接Date此类包含将SQL日期格式转换成Java日期格式的各种方法Time此类用于表示时间TimeStamp此类通过添加纳秒字段为时间提供更高的精确度

11java.sql包3-2类名说明DriverManajava.sql包3-3SQLException/***fooBar*/publicvoidfoobar()throwsSQLException{…… thrownewSQLException(“刚引发了一个SQLException”);}……try{fooBar();}catch(SQLExceptionex){System.out.println(“已捕获一个SQLException异常!”);System.out.println(“消息:“+ex.getMessage());System.out.println(“错误代码:“+ex.getErrorCode());} …调用fooBar12java.sql包3-3SQLException/**…JDBC程序访问数据库的步骤2-1开始导入java.sql包加载并注册驱动程序创建一个Connection对象创建一个Statement对象执行语句关闭ResultSet对象关闭Statement对象关闭连接结束使用ResultSet对象13JDBC程序访问数据库的步骤2-1开始导入javaFriends表的结构JDBC程序访问数据库的步骤2-2它演示访问数据库的各个步骤在执行示例1中的程序之前,SQLServer中应该存在一个名为friends的表演示:示例1列名称数据类型名称

Varchar(50)地址Varchar(50)电话Numeric入职日期Datetime工资Numeric/**©2005AptechLimited*版权所有*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示访问数据库需遵循的各个步骤.*@version1.0,2005年8月26日*@authorBen*/classJdbctest{/**构造方法*/protectedJdbctest(){}/**这是main方法.

*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();ResultSetrs=s.executeQuery("select*fromfriends");while(rs.next()){System.out.print(rs.getString(1)+"\t");System.out.print(rs.getString(2)+"\t");System.out.print(rs.getInt(3)+"\t");System.out.print(rs.getDate(4)+"\t");System.out.println("");}rs.close();s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}14Friends表的结构JDBC程序访问数据库的步骤2-JDBC查询2-1SQL查询字符串executeQuery()方法作为参数传递ResultSet返回查询数据SELECTname,email,phoneFROMcolleagues;使用SQL语句,查询可编写为:Stringstr="SELECTemp_id,lname,fnameFROMcolleagues";Statementstmt=con.createStatement();ResultSetrset=stmt.executeQuery(str);使用JDBC编写此查询,则代码为:Statement接口15JDBC查询2-1SQL查询字符串executeQueJDBC查询2-2它演示SQL中sum()方法的用法演示:示例2/***Jdbctest2*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示SQL中sum()方法的用法*@version1.0,2005年8月26日*@authorBen*/classJdbctest2{/**构造方法*/protectedJdbctest2(){}/**这是main方法*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();ResultSetrs=s.executeQuery("selecthiredate,sum(salary)fromfriendsgroupbyhiredate");while(rs.next()){System.out.print(rs.getDate(1)+"\t");

System.out.print(rs.getInt(2)+"\t");System.out.println("");}rs.close;s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}16JDBC查询2-2它演示SQL中sum()方法的演示:示例3它演示SQL中INSERT语句的用法/***Jdbctest3*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示INSERT语句的用法.*@version1.0,2005年8月26日*@authorBen*/classJdbctest3{/**构造方法*/protectedJdbctest3(){}JDBC插入数据实现/**这是main方法*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Stringstr="INSERTINTO“+friends(name,address,salary)“

+"VALUES(‘朱八‘,’深圳‘,25690)";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();introwcount=s.executeUpdate(str);Stringstr1="selectname,sum(salary)“+fromfriends"+"groupbyname";

ResultSetrs=s.executeQuery(str1);while(rs.next()){System.out.print(rs.getString(1)+"\t");

System.out.print(rs.getInt(2)+"\t");System.out.println("");}rs.close();s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}17演示:示例3它演示SQL中INSERT语句的用法/JDBC删除和修改实现它演示SQL中各种命令的用法演示:示例4/***Jdbc2*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;/**这这个类演示SQL

中命令的用法.*@version1.0,2005年8月26日*@authorBen*/classJdbc2{/**构造方法.*/protectedJdbc2(){}publicstaticvoidmain(String[]args){Connectioncon;Statementstmt;Stringurl;Stringsql;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{url="jdbc:odbc:test";con=DriverManager.getConnection(url);sql="Deletefromfriendswherertrim(name)like\'张三\';";System.out.println("");stmt=con.createStatement();

stmt.executeUpdate(sql);System.out.println("张三的记录已删除“);stmt.close();con.close();con=DriverManager.getConnection(url);sql="Updatefriendssetaddress=\'青岛\'where“+"rtrim(name)like\'李四\';";System.out.println("");stmt=con.createStatement();stmt.executeUpdate(sql);stmt.close();con.close();System.out.println("李四的记录已更新");

}catch(SQLExceptionce){System.out.println(ce);}}}18JDBC删除和修改实现它演示SQL中各种命令的用法演示PreparedStatement接口3-1PreparedStatement接口(预编译的SQL语句)PreparedStatement用于提高运行时效率执行PreparedStatement对象比执行Statement对象快Statement接口19PreparedStatement接口3-1PreparPreparedStatement接口3-2

它演示了PreparedStatement的用法演示:示例5/**©*CourseAppl*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这个类演示SQL中PreparedStatement的用法*/classCourseAppl{privateConnectioncon;privateStringurl;privateStringserverName;privateStringportNumber;privateStringdatabaseName;privateStringuserName;privateStringpassword;privateStringsql;CourseAppl(){url="jdbc:microsoft:sqlserver://";serverName=“localhost";portNumber="1433";databaseName=“test";userName=“sa";password=“sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),userName,password);if(con!=null){System.out.println("连接成功!");}}catch(Exceptione){e.printStackTrace();System.out.println("getConnection()内的错误跟踪:"+e.getMessage());}returncon;}publicvoiddisplay(){try{con=getConnection();PreparedStatementpstmt=con.prepareStatement("UPDATEfriendsSETsalary=?WHEREnamelike?");pstmt.setInt(1,10000);pstmt.setString(2,"李四");pstmt.executeUpdate();System.out.println(“记录已更新!");Statements=con.createStatement();Stringsql="SELECT*FROMfriends";ResultSetrs=s.executeQuery(sql);while(rs.next()){System.out.println("");System.out.print(rs.getInt(1)+"");

System.out.println(rs.getInt(5));}}catch(SQLExceptionce){System.out.println(ce);}}publicstaticvoidmain(String[]args){CourseApplretObj=newCourseAppl();retObj.display();}}20PreparedStatement接口3-2它演示了PrPreparedStatement

接口3-3它演示在基于条件的SQL查询中如何使用PreparedStatement,其中条件在IN参数中给出演示:示例6importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这个类演示在基于条件的SQL查询中使用PreparedStatement*/classRetrieveRecords{privateConnectioncon;privateStringurl;privateStringserverName,portNumber,databaseName,userName;privateStringsql;RetrieveRecords(){url="jdbc:microsoft:sqlserver://";serverName=“localhost";portNumber="1433";databaseName=“test";userName=“sa";password=“sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),userName,password);if(con!=null){System.out.println("连接成功!");}}catch(Exceptione){e.printStackTrace();System.out.println(“getConnection()内的错误跟踪:"+e.getMessage());}returncon;}publicvoiddisplay(){try{con=getConnection();sql="select*fromFriendswhereSalary>?";PreparedStatementpstmt=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setInt(1,5000);ResultSetrs=pstmt.executeQuery();while(rs.next()){System.out.print(rs.getString(1)+"\t");System.out.print(rs.getString(2)+"\t");System.out.print(rs.getInt(3)+"\t");System.out.print(rs.getDate(4)+"\t");System.out.print(rs.getInt(5)+"\t");System.out.println("");}rs.close();pstmt.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}/**这是main方法*/publicstaticvoidmain(String[]args){RetrieveRecordsretRec=newRetrieveRecords();retRec.display();}}21PreparedStatement

接口3-3它演示在使用结果集3-1ResultSet对象完全依赖于Statement对象和Connection对象每次执行SQL语句时,都会用新的结果重写结果集当相关的Statement关闭时,ResultSet对象会自动关闭Next()get<Type>()此方法将光标从当前位置下移一行从ResultSet对象返回数据22使用结果集3-1ResultSet对象完全依赖于St使用结果集3-2它演示对当前行的处理使用next()方法时,记录是按顺序处理的必须按照数据返回的顺序处理每行中的数据…ResultSetrset=stmt.getResultSet();

while(rset.next()){Stringdept_name=rset.getString(1);} …23使用结果集3-2它演示对当前行的处理…23使用结果集3-3演示对当前列的处理使用

get<Type>()

方法可以直接访问列…Statementstmt=con.createStatement();Stmt.executeQuery("Selectemp_id,fnamefromEmployee");ResultSetrset=stmt.getResultSet();while(rset.next()){Stringename=rset.getString("fname");System.out.println(ename);}……Statementstmt=con.createStatement();stmt.executeQuery("Selectemp_id,fnamefromEmployee");ResultSetrset=stmt.getResultSet();while(rset.next()) {Stringemployeeid=rset.getString(1);}…以下代码显示值

1被作为参数传递给getString()方法,这实际上指列emp_id的索引24使用结果集3-3演示对当前列的处理……以下代码显示值1结果集的类型可滚动不可滚动光标仅向前移动光标可前后移动,也可移动至与当前位置相对的某一行如果对数据库做了更改,则新值是可见的结果集TYPE_SCROLL_INSENSITIVETYPE_SCROLL_SENSITIVE

TYPE_FORWARD_ONLY25结果集的类型可滚动不可滚动光标仅向前移动光标可前后移动,也可总结JDBC概念的理解使用Class.forName()方法可以将驱动程序加载到Java解释器中使用

DriverManager

类的

getConnection()

方法和Connection对象的

createStatement()

方法可建立连接最后,使用

executeQuery()

executeUpdate()

方法通过Statement实例构建并执行SQL语句PreparedStatement

接口允许创建预编译的SQL语句,并使得在后续阶段可以指定语句的参数结果集可以是可滚动的,也可以是不可滚动的26总结JDBC概念的理解26第十三章JDBC基础知识第十三章JDBC基础知识回顾JTable的用途如何使用JTableJTree的用途如何使用JTree28回顾JTable的用途2本章目标了解JDBC的概念及必要性了解JDBC驱动程序类型理解JDBC程序的结构运用JDBC进行数据库编程

29本章目标了解JDBC的概念及必要性3数据库访问技术简介

客户机/服务器应用程序数据库编程ODBCJDBC两个常用的API数据库执行SQL语句检索查询结果30数据库访问技术简介客户机/数据库ODBC客户机/服务器GUI应用程序ODBC(开放式数据库连接)(Microsoft提供)插入删除修改应用程序编程接口查询31数据库ODBC客户机/服务器ODBC插入删除修改应用JDBCJDBC(Java数据库连接)(sun公司提供)Java应用程序编程接口Java应用程序数据库插入修改删除查询32JDBCJava应用程序编程接口Java应用程序数据库JDBC驱动程序的类型JDBC驱动程序的类型JDBC-ODBC桥驱动程序及ODBC驱动程序本地API部分Java驱动程序JDBC-Net纯Java驱动程序本地协议纯Java驱动程序33JDBC驱动程序的类型JDBC驱动程序JDBC-ODBC

JDBC体系结构2-1Java程序JDBC驱动程序数据库SQL命令结果34JDBC体系结构2-1JDBC体系结构2-2应用层Driver

StatementResultSet

Connection

各接口驱动层35JDBC体系结构2-2应用层Driverjava.sql包3-1接口名说明

Connection此接口表示与数据的连接PreparedStatement此接口用于执行预编译的SQL语句

ResultSet此接口表示了查询出来的数据库数据结果集Statement此接口用于执行SQL语句并将数据检索到ResultSet中

36java.sql包3-1接口名说明Connectijava.sql包3-2类名说明

DriverManager此类用于加载和卸载各种驱动程序并建立与数据库的连接Date此类包含将SQL日期格式转换成Java日期格式的各种方法Time此类用于表示时间TimeStamp此类通过添加纳秒字段为时间提供更高的精确度

37java.sql包3-2类名说明DriverManajava.sql包3-3SQLException/***fooBar*/publicvoidfoobar()throwsSQLException{…… thrownewSQLException(“刚引发了一个SQLException”);}……try{fooBar();}catch(SQLExceptionex){System.out.println(“已捕获一个SQLException异常!”);System.out.println(“消息:“+ex.getMessage());System.out.println(“错误代码:“+ex.getErrorCode());} …调用fooBar38java.sql包3-3SQLException/**…JDBC程序访问数据库的步骤2-1开始导入java.sql包加载并注册驱动程序创建一个Connection对象创建一个Statement对象执行语句关闭ResultSet对象关闭Statement对象关闭连接结束使用ResultSet对象39JDBC程序访问数据库的步骤2-1开始导入javaFriends表的结构JDBC程序访问数据库的步骤2-2它演示访问数据库的各个步骤在执行示例1中的程序之前,SQLServer中应该存在一个名为friends的表演示:示例1列名称数据类型名称

Varchar(50)地址Varchar(50)电话Numeric入职日期Datetime工资Numeric/**©2005AptechLimited*版权所有*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示访问数据库需遵循的各个步骤.*@version1.0,2005年8月26日*@authorBen*/classJdbctest{/**构造方法*/protectedJdbctest(){}/**这是main方法.

*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();ResultSetrs=s.executeQuery("select*fromfriends");while(rs.next()){System.out.print(rs.getString(1)+"\t");System.out.print(rs.getString(2)+"\t");System.out.print(rs.getInt(3)+"\t");System.out.print(rs.getDate(4)+"\t");System.out.println("");}rs.close();s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}40Friends表的结构JDBC程序访问数据库的步骤2-JDBC查询2-1SQL查询字符串executeQuery()方法作为参数传递ResultSet返回查询数据SELECTname,email,phoneFROMcolleagues;使用SQL语句,查询可编写为:Stringstr="SELECTemp_id,lname,fnameFROMcolleagues";Statementstmt=con.createStatement();ResultSetrset=stmt.executeQuery(str);使用JDBC编写此查询,则代码为:Statement接口41JDBC查询2-1SQL查询字符串executeQueJDBC查询2-2它演示SQL中sum()方法的用法演示:示例2/***Jdbctest2*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示SQL中sum()方法的用法*@version1.0,2005年8月26日*@authorBen*/classJdbctest2{/**构造方法*/protectedJdbctest2(){}/**这是main方法*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();ResultSetrs=s.executeQuery("selecthiredate,sum(salary)fromfriendsgroupbyhiredate");while(rs.next()){System.out.print(rs.getDate(1)+"\t");

System.out.print(rs.getInt(2)+"\t");System.out.println("");}rs.close;s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}42JDBC查询2-2它演示SQL中sum()方法的演示:示例3它演示SQL中INSERT语句的用法/***Jdbctest3*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;/**这个类演示INSERT语句的用法.*@version1.0,2005年8月26日*@authorBen*/classJdbctest3{/**构造方法*/protectedJdbctest3(){}JDBC插入数据实现/**这是main方法*/publicstaticvoidmain(String[]args){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{Stringurl="jdbc:odbc:test";Stringstr="INSERTINTO“+friends(name,address,salary)“

+"VALUES(‘朱八‘,’深圳‘,25690)";Connectioncon=DriverManager.getConnection(url);Statements=con.createStatement();introwcount=s.executeUpdate(str);Stringstr1="selectname,sum(salary)“+fromfriends"+"groupbyname";

ResultSetrs=s.executeQuery(str1);while(rs.next()){System.out.print(rs.getString(1)+"\t");

System.out.print(rs.getInt(2)+"\t");System.out.println("");}rs.close();s.close();con.close();}catch(SQLExceptionce){System.out.println(ce);}}}43演示:示例3它演示SQL中INSERT语句的用法/JDBC删除和修改实现它演示SQL中各种命令的用法演示:示例4/***Jdbc2*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;/**这这个类演示SQL

中命令的用法.*@version1.0,2005年8月26日*@authorBen*/classJdbc2{/**构造方法.*/protectedJdbc2(){}publicstaticvoidmain(String[]args){Connectioncon;Statementstmt;Stringurl;Stringsql;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println(ce);}try{url="jdbc:odbc:test";con=DriverManager.getConnection(url);sql="Deletefromfriendswherertrim(name)like\'张三\';";System.out.println("");stmt=con.createStatement();

stmt.executeUpdate(sql);System.out.println("张三的记录已删除“);stmt.close();con.close();con=DriverManager.getConnection(url);sql="Updatefriendssetaddress=\'青岛\'where“+"rtrim(name)like\'李四\';";System.out.println("");stmt=con.createStatement();stmt.executeUpdate(sql);stmt.close();con.close();System.out.println("李四的记录已更新");

}catch(SQLExceptionce){System.out.println(ce);}}}44JDBC删除和修改实现它演示SQL中各种命令的用法演示PreparedStatement接口3-1PreparedStatement接口(预编译的SQL语句)PreparedStatement用于提高运行时效率执行PreparedStatement对象比执行Statement对象快Statement接口45PreparedStatement接口3-1PreparPreparedStatement接口3-2

它演示了PreparedStatement的用法演示:示例5/**©*CourseAppl*/importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这个类演示SQL中PreparedStatement的用法*/classCourseAppl{privateConnectioncon;privateStringurl;privateStringserverName;privateStringportNumber;privateStringdatabaseName;privateStringuserName;privateStringpassword;privateStringsql;CourseAppl(){url="jdbc:microsoft:sqlserver://";serverName=“localhost";portNumber="1433";databaseName=“test";userName=“sa";password=“sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),userName,password);if(con!=null){System.out.println("连接成功!");}}catch(Exceptione){e.printStackTrace();System.out.println("getConnection()内的错误跟踪:"+e.getMessage());}returncon;}publicvoiddisplay(){try{con=getConnection();PreparedStatementpstmt=con.prepareStatement("UPDATEfriendsSETsalary=?WHEREnamelike?");pstmt.setInt(1,10000);pstmt.setString(2,"李四");pstmt.executeUpdate();System.out.println(“记录已更新!");Statements=con.createStatement();Stringsql="SELECT*FROMfriends";ResultSetrs=s.executeQuery(sql);while(rs.next()){System.out.println("");System.out.print(rs.getInt(1)+"");

System.out.println(rs.getInt(5));}}catch(SQLExceptionce){System.out.println(ce);}}publicstaticvoidmain(String[]args){CourseApplretObj=newCourseAppl();retObj.display();}}46PreparedStatement接口3-2它演示了PrPreparedStatement

接口3-3它演示在基于条件的SQL查询中如何使用PreparedStatement,其中条件在IN参数中给出演示:示例6importjava.sql.SQLException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.PreparedStatement;/**这个类演示在基于条件的SQL查询中使用PreparedStatement*/classRetrieveRecords{privateConnectioncon;privateStringurl;privateStringserverName,portNumber,databaseName,userName;privateStringsql;RetrieveRecords(){url="jdbc:microsoft:sqlserver://";serverName=“localhost";portNumber="1433";databaseName=“test";userName=“sa";password=“sa";}privateStringgetConnectionUrl(){returnurl+serverName+":"+portNumber+";databaseName="+databaseName+";";}privatejava.sql.ConnectiongetConnection(){try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");con=DriverManager.getConnection(getConnectionUrl(),user

温馨提示

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

评论

0/150

提交评论