第 5 章 jsp 中使用数据库

Click here to load reader

Upload: fontaine-callum

Post on 14-Mar-2016

334 views

Category:

Documents


2 download

DESCRIPTION

JSP 程序设计. 第 5 章 JSP 中使用数据库. 主要内容. SQL Server 简介 SQL 语句简介 JDBC 概述、 JDBC 驱动程序类型、 JDBC 接口及其应用。 实例介绍 使用 JDBC 访问 SQL Server 、 DB2 、 ACESS 等数据库的方法和步骤 。. SQL Server 简介. 1.Microsoft SQL Server 2000 的几个版本 企业版:支持 Microsoft SQL Server 2000 的所有功能。最多支持 32 个 CPU 和 64GB 内存。用于企业。 - PowerPoint PPT Presentation

TRANSCRIPT

  • 5 JSPJSP

  • SQL ServerSQLJDBCJDBCJDBC JDBC SQL ServerDB2ACESS

  • SQL Server1.Microsoft SQL Server 2000Microsoft SQL Server 200032CPU64GB4CPU2GBCPU

  • 2. Pentium 166MHz 64MB 32MB 180MB 170MB 65MB 90MBSQL Server

  • Windows NT Server 4.0 Windows 2000 Server Windows NT Server Enterprise Edition 4.0 Windows 2000 Advanced Server Windows 2000 Data Center Server MS Windows 98 MS Windows NT Workstation 4.0 MS Windows 2000 Professional MS Windows NT Server 4.0 MS Windows 2000 Server IE5.0SQL Server

  • SQL Server SQL Server 2000SQL Server

  • SQL Server SQL Server Microsoft SQL ServerWebWEBSERVERS

  • SQL Server 6

  • SQL Server 2000 mastermodelmsdb SQL Server tempdbSQL Server 2000 pubs Northwind

  • SQL Server1.2.

  • SQL Server1.2.

  • SQL Server1.Insert

  • SQL SELECT FROM [WHERE ] ( ) [GROUP BY ] [HAVING ] [ORDER BY ] INSERT INTO tableName(column1,column2,.) VALUES (values1,values2,.)

  • SQL UPDATE tableName SET column1=values1, cloumn2=values2, [WHERE] DELETE FROM tableName [WHERE]

  • JDBC JDBC (Java Data Base Connectivity) JavaJDBC SQLJava APIJava Java

  • JDBC JDBC API JDBC API(APISQL)() SQLAPI

  • JDBC JDBCJDBC.SQL (DML)(DDL)JDBCjava.sql.ResultSetResultSet

  • JDBC JDBCJDBCJDBCJavaJDBCODBC BridgeJDBC Native BridgeJDBCNetwork BridgePure Java JDBC Drive

  • JDBC JDBCODBC Bridge1 JDBC-ODBCJDBCODBCJDBC-ODBCJavaJDBCODBCODBCJDBCODBCMicrosoft WindowsJDBC

  • JDBC Native Bridge2 JDBC JDBCJDBCJDBCJDBCAPIAPIJDBC-ODBC

  • JDBCNetwork Bridge3 JDBC JDBCDBMSJDBCDBMSJava

  • Pure Java JDBC Drive4 JDBC JDBCJDBC

  • JDBC APIDriverManagerConnectionStatementResultSet

  • DriverManager DriverManagerJDBCJDBC DriverManager ()DriverManagerJDBC

  • DriverManagerDriverManagerClass.forName(String driver) driverClassname()Classjava.langforNameClass.forNameimport import java.sql.*;

  • JDBC-ODBC Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);SQL Server JDBCClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);DB2 JDBCClass.forName(com.ibm.db2.jdbc.app.DB2Driver");mySQL JDBCClass.forName(org.gjt.mm.mysql.Driver);Oracle JDBCClass.forName(oracle.jdbc.driver.OracleDriver);

  • DriverManagerStatic Connection getConnection(String url, String user, String password) DriverManagerurl Connectionjava.sqlConnection() Connection conn = DriverManager.getConnection (URL,user,password);

  • DriverManagergetConnection() JDBC URLJDBCJDBC URL JDBCDriverManagernull JDBCJavaSQLException

  • URL: jdbc : : jdbcURLsub-protocolsub-nameInternetURL //: : JDBC URL

  • ODBCClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection Conn =DriverManager.getConnection(jdbc:odbc:manage,sa,111000);

  • Connection ConnetionJavaDriverConnection SQL

  • ConnectionConnectionStatement createStatement() StatementDatabaseMetaData getMetaData() DatabaseMetaDataPreparedStatement prepareStatement(String sql) PreparedStatementboolean getAutoCommit() ConnectionAutoCommit

  • ConnectionConnectionvoid setAutoCommit(boolean autoCommit) ConnectionAutoCommitvoid commit() void rollback() void close() Connectionboolean isClosed()

  • Statement SQLStatementPreparedStatementCallableStatement StatementSQLConnectioncreateStatement( )Statement

  • Statement

  • StatementexecuteQuery( )ResultSetSQLString sql = "select * from user where code='7102'";ResultSet rs = Statement.executeQuery(sql);while(rs.next( )) { // process the row}

  • String sql = "select * from userinfo"; ResultSet rs = statement.executeQuery(sql); String sql = "insert into userinfo values('7107 ','', '[email protected]')"; int rowCount = statement.executeUpdate(sql);

  • PreparedStatement PreparedStatementStatementSQLSQLRDBMS

  • String sql = "SELECT * FROM userinfo WHERE name = ? ";?

  • PreparedStatementConnectionprepareStatement( )ConnectionconnPreparedStatementprepare String sql = "SELECT * FROM userinfo WHERE name = ? ";PreparedStatement prepare = conn.prepareStatement(sql); PreparedStatementSQL

  • CallableStatementCallableStatementPreparedStatementPreparedStatementStatement

  • DatabaseMetaDateDatabaseMetaDateString getDatabaseProductName()String getDatabaseProductVersion()String getDriverName()String getDriverVersion()String getURL()String getUserName()

  • ResultSet ResultSet(Cursor)

  • Statement st=connection.createStatement (int int );ResultSet

  • StatementResultSetStatement st=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

  • ResultSet

  • ResultSet

  • ResultSet

  • JDBC(1)JDBCClass.forName()classpathJDBCJDBCJDBCDriverManagerDriverManagergetConnection()

  • JDBC-ODBC Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);SQL Server JDBCClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);DB2 JDBCClass.forName(com.ibm.db2.jdbc.app.DB2Driver");mySQL JDBCClass.forName(org.gjt.mm.mysql.Driver);Oracle JDBCClass.forName(oracle.jdbc.driver.OracleDriver);

  • SQL ServerClass.forName("com.microsoft.jdbc.sqlserver. SQLServerDriver");Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=student", "sa", "111000");

  • MySQLClass.forName("org.gjt.mm.mysql.Driver");Connection Conn = DriverManager.getConnection("jdbc:mysql://localhost:3306:test", " test ", " test");

  • Oracle Class.forName("oracle.jdbc.driver.OracleDriver");Connection Conn = DriverManager.getConnection("jdbc:oracle:thin: @localhost:1521:test",test",test");BD2Class.forName("com.ibm.db2.jdbc.app.DB2Driver")Connection Conn = DriverManager.getConnection("jdbc:db2://localhost:5000/sample", "db2admin", "111000");

  • JDBC(2)ConnectionConnectionStatementStatementSQLStatement

  • //conConnectionconStatementStatement sql=con.createStatemnet();sql.executeUpdate(create table student(id int not null , name varchar(20) not null default name,math int not null default 60, primary key(id)););sql.executeUpdate(insert into student values(1,liyinglin,98));String query=select * from student;ResultSet result=sql.executeQuery(query);

  • JDBC(3)ResultSetJavaStatement

  • SQL Server

  • JDBDODBC

  • JDBDODBC Connection con; //Connectionconn Statement sql; //Statementsql ResultSet rs; //ResultSetrs try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); } // catch(ClassNotFoundException e){} // try { con=DriverManager.getConnection(jdbc:odbc: manage,sa,111000); // sql=con.createStatement(); //SQL rs=sql.executeQuery(SELECT * FROM students); // } catch(IOException ee){}

  • JDBCSQL ServerJDBCsqlserver-jdbc-beta2.exeJavaJDBC

  • SQL ServerJDBCJavaJDBCJAR

  • EclipseProject Explorerchapter02\WEB-INF\libEclipsejarbin

  • Connection con; Statement sql; ResultSet rs; try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch(ClassNotFoundException e){} try{ con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=student", "sa","111000");sql=con.createStatement(); rs=sql.executeQuery("SELECT * FROM students");} catch(IOException ee){}

  • IEJSP

  • SQL Serversp3jdbcxp2003sqlserver sp3 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 1433 sp3 sqlserversp3_ChinaDown.com.cn_2271.rar

  • JSP JDBCSQL Server

  • SCSCSS#SNSEXAGEDEPTCC#CNSCS#C#GRADES#SNSEXAGEDEPTC#CNGRADE(1) 4(2) (3) (4) JSP

    JDBCJDBCMySQLOracleJava