`

JSP复习笔记——第10章 连接数据库之JDBC简介与基本使用

阅读更多
动态web的最大特点--> 可以操作数据库
JSP属于动态web程序—> JDBC去操作数据库

JDBC本身是Java连接数据库的一个标准
使用数据库之中,可以发现,对数据库的处理由数据库管理系统去操作
JDBC:是JAVA操作数据库的方法
ODBC:是微软的数据库操作

JDBC-ODBC桥接方式:JDBC-ODBC是在JDK中由SUN本身开发出来的一套数据库访问操作,在JDBC-ODBC桥接中,它的各种操作API都是最新的,但性能较低,使用ODBC提供的数据库连接技术访问数据库,在开发中此方式肯定不用,因为性能低
JDBC驱动程序:有各个厂商按JDBC标准提供

建立好数据库和表后,要配置数据源
数据源名称为程序中真正要使用到的名称:
ODBC的基本原理:
通过一个数据源名称-->找到数据库
为数据库起了一个别名—>程序通过别名访问数据库
即:程序只任名称,不任数据库

JDBC-ODBC数据库连接驱动程序是由SUN提供的,为:sun.jdbc.odbc.JdbcOdbcDriver
操作数据库使用以下两个主要接口:
 statement
 preparedStatement

使用statement可以向数据库中执行SQL语句
SQL两大操作
 更新数据:executeUpdate()
 查询数据:executeQuery()

更新数据库的主要步骤:
加载驱动程序-->打开连接Connection-->操作statement-->关闭
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%!
	// 定义数据库驱动程序
	String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;
	// 定义数据库连接地址
	String DBURL = "jdbc:odbc:sky" ;

	// 定义数据库连接对象,属于java.sql包中的接口
	Connection conn = null ;

	// 定义Statement对象,用于操作数据库
	Statement stmt = null ;

	// 定义一字符串变量,用于保存SQL语句
	String sql = null ;
%>
<%
	// 1、加载驱动程序
	try {
		Class.forName(DBDRIVER) ;
	} catch(Exception e) {
		// 此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题
		out.println("数据库驱动程序加载失败!!!") ;
	}

	// 2、连接数据库
	try {
		conn = DriverManager.getConnection(DBURL) ;
	} catch(Exception e) {
		out.println("数据库连接失败!!!") ;
	}

	// 3、操作数据库
	// 通过Connection对象实例化Statement对象
	try {
		stmt = conn.createStatement() ;
		// 为sql变量赋值
		// 插入语句
		sql = "INSERT INTO person (name,password,age) VALUES (darkness,'wind',22)" ;
		// 更新语句
		// sql = "UPDATE person SET name='wind',password='darkness' WHERE id=3" ;
		// 按ID删除记录
		// sql = "DELETE FROM person WHERE id=4" ;
		// 通过Statement对象执行此SQL语句
		stmt.executeUpdate(sql) ;
	} catch(Exception e) {
		out.println("操作数据库失败!!!") ;
	}
	// 4、关闭数据库
	try {
		// 关闭操作
		stmt.close() ;
		// 关闭连接
		conn.close() ;
	} catch(Exception e) {
		out.println("数据库关闭失败!!!") ;
	}
%>


查询数据库的主要步骤:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%--
	此代码主要进行查询操作
--%>
<%!
	// 定义数据库驱动程序
	String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;
	// 定义数据库连接地址
	String DBURL = "jdbc:odbc:sky" ;

	// 定义数据库连接对象,属于java.sql包中的接口
	Connection conn = null ;

	// 定义Statement对象,用于操作数据库
	Statement stmt = null ;

	// 定义一字符串变量,用于保存SQL语句
	String sql = null ;

	// 查询返回的结果集对象
	ResultSet rs = null ;
%>
<%
	// 1、加载驱动程序
	try {
		Class.forName(DBDRIVER) ;
	} catch(Exception e) {
		// 此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题
		out.println("数据库驱动程序加载失败!!!") ;
	}

	// 2、连接数据库
	try {
		conn = DriverManager.getConnection(DBURL) ;
	} catch(Exception e) {
		out.println("数据库连接失败!!!") ;
	}

	// 3、操作数据库
	// 通过Connection对象实例化Statement对象
	try {
		stmt = conn.createStatement() ;
		// 编写查询的SQL语句
		sql = "SELECT id,name,password,age FROM person" ;
		// 查询数据库,此方法返回ResultSet对象
		rs = stmt.executeQuery(sql) ;
%>
	<table border="1" width="80%">
	<tr>
		<td>ID</td>
		<td>姓名</td>
		<td>密码</td>
		<td>年龄</td>
	</tr>
<%
		while(rs.next()) {
			int id = rs.getInt(1) ;
			String name = rs.getString(2) ;
			String password = rs.getString(3) ;
			int age = rs.getInt(4) ;
%>
			<tr>
				<td><%=id%></td>
				<td><%=name%></td>
				<td><%=password%></td>
				<td><%=age%></td>
			</tr>
<%
		}
%>
	</table>
<%
	} catch(Exception e) {
		out.println("操作数据库失败!!!") ;
	}
	// 4、关闭数据库
	try {
		// 关闭结果集
		rs.close() ;
		// 关闭操作
		stmt.close() ;
		// 关闭连接
		conn.close() ;
	} catch(Exception e) {
		out.println("数据库关闭失败!!!") ;
	}
%>


问题:使用Statement需要一个完整的SQL语句,但如果输入的内容包含“”,会造成SQL语句不正确。
解决:使用Statement的子接口:PreparedStatement
建议:在开发中不要去使用Statenent对象,
---------------------add.html----------
<form action="jdbcDemo05.jsp" method="post">
姓名:<input type="text" name="uname"><br>
密码:<input type="password" name="upass"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" value="增加">
</form>
---------------------add.jsp---------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%!
	// 定义数据库驱动程序
	String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;
	// 定义数据库连接地址
	String DBURL = "jdbc:odbc:sky" ;

	// 定义数据库连接对象,属于java.sql包中的接口
	Connection conn = null ;

	// 定义PreapredStatement对象,用于操作数据库
	PreparedStatement pstmt = null ;

	// 定义一字符串变量,用于保存SQL语句
	String sql = null ;
%>
<%
	// 接收表单参数
	// 处理乱码
	request.setCharacterEncoding("GB2312") ;
	String name = request.getParameter("uname") ;
	String password = request.getParameter("upass") ;
	int age = 0 ;
	try {
		age = Integer.parseInt(request.getParameter("age")) ;
	} catch(Exception e) {
	}

	// 需要重新组合新的SQL语句
	sql = "INSERT INTO person (name,password,age) VALUES (?,?,?)" ;

	// out.println(sql) ;

	// 1、加载驱动程序
	try {
		Class.forName(DBDRIVER) ;
	} catch(Exception e) {
		// 此处使用out.print是处于演示目的,在实际开发中所有的错误消息,绝对不能够通过out.print打印,否则会存在安全问题
		out.println("数据库驱动程序加载失败!!!") ;
	}

	// 2、连接数据库
	try {
		conn = DriverManager.getConnection(DBURL) ;
	} catch(Exception e) {
		out.println("数据库连接失败!!!") ;
	}

	// 3、操作数据库
	// 通过Connection对象实例化Statement对象
	try {
		pstmt = conn.prepareStatement(sql) ;
		// 通过Statement对象执行此SQL语句
		// 向变量中设置内容
		pstmt.setString(1,name) ;
		pstmt.setString(2,password) ;
		pstmt.setInt(3,age) ;
		pstmt.executeUpdate() ;
	} catch(Exception e) {
		out.println("操作数据库失败!!!") ;
	}
	// 4、关闭数据库
	try {
		// 关闭操作
		pstmt.close() ;
		// 关闭连接
		conn.close() ;
	} catch(Exception e) {
		out.println("数据库关闭失败!!!") ;
	}
%>
分享到:
评论

相关推荐

    JSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mht

    JSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mhtJSP复习笔记——第10章 连接数据库 之 JDBC相关 - 堕落天使 - JavaEye技术网站.mht

    jsp中jdbc数据库连接

    jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc连接数据库jdbc...

    jsp毕业设计——JSP数据库连接池的研究与实现(源代码+论文).zip

    本项目“JSP毕业设计——JSP数据库连接池的研究与实现”显然聚焦于如何高效地管理和使用数据库资源,特别是通过数据库连接池来优化性能。 数据库连接池是现代Web应用中一个关键的组件,它的核心功能是管理数据库...

    JSP之JDBC数据库开发

    【JSP之JDBC数据库开发】是关于使用JavaServer Pages(JSP)和Java Database Connectivity(JDBC)技术进行数据库操作的学习主题。JSP是一种基于Java的服务器端脚本语言,用于生成动态网页内容,而JDBC是Java平台中...

    eclipse JDBC连接数据库及jsp操作数据库数据详细教程.docx

    本教程旨在指导读者如何使用Eclipse、JDBC和JSP来连接数据库并操作数据库数据。整个教程分为三部分:安装准备工作、安装Tomcat和MyEclipse、配置JDBC连接数据库。 一、安装准备工作 在开始本教程前,需要安装一些...

    jsp连接数据库代码大全.pdf

    本文档提供了 JSP 连接 Oracle、SQL Server 和 DB2 数据库的完整代码示例,旨在帮助初学者学习 JSP 连接数据库的基本知识。下面是对标题、描述、标签和部分内容的详细解释。 一、JSP 连接 Oracle 数据库 在连接 ...

    dreamweaver编写jsp时连接数据库

    在使用Dreamweaver进行JSP开发时,连接到MySQL数据库是一项基本操作。在这个过程中,我们需要了解几个关键概念和步骤。以下是一份详细的说明: 首先,MySQL 4.1是数据库管理系统,它提供了一种存储和管理数据的方式...

    jdbc驱动 java web jsp连接sql数据库

    在jsp连接SQL server 2000数据库时,必须添加相关的jdbc驱动,设置其环境变量,并在程序中编写jdbc代码来实现数据库的连接,从而在java web中对数据库进行查找、插入、删除更新等操作。 jdbc驱动文件必须包含:...

    Java jdbc数据库连接池总结

    Java 应用程序访问数据库的基本原理是在 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁,即 Java 语言通过 JDBC 技术访问数据库。JDBC 是一种“开放”的方案,它为数据库应用开发人员...

    JSP数据库连接JDBCJSP数据库连接JDBC

    在Java服务器页面(JSP)中,数据库连接通常通过Java Database Connectivity(JDBC)API来实现。JDBC提供了一套标准的接口和类,使得Java应用程序能够与各种类型的数据库进行交互。下面我们将深入探讨JSP中JDBC...

    关键技术——JSP与JDBC应用详解(电子版)

    《关键技术——JSP与JDBC应用详解》这本书深入探讨了Java服务器页面(JSP)和Java数据库连接(JDBC)这两个在Web开发中至关重要的技术。对于任何希望在Java平台上进行Web应用程序开发的程序员来说,理解和掌握这两项...

    jsp中各种连接数据库方式

    为了在 JSP 中连接 Oracle 数据库,我们需要使用 Oracle JDBC 驱动。以下是一个示例代码,展示如何通过 Thin 驱动模式连接到 Oracle 8/8i/9i 数据库: ```jsp *" %&gt; Class.forName("oracle.jdbc.driver.Oracle...

    PG-java jdbc连接数据库

    最后,`PGJDBC.war`文件通常是一个Web应用程序的归档文件,包含使用JDBC连接PG数据库的Web应用的所有组件,如Servlet、JSP页面、JavaBeans等。部署这个WAR文件到支持Java Web应用的服务器(如Tomcat、Jetty等),...

    JSP的连接数据库并修改数据库代码

    本文将深入探讨如何使用JSP来连接数据库,并基于此修改数据库内容的关键知识点。 ### 1. JSP与数据库连接 在JSP页面中,连接数据库是通过Java Database Connectivity (JDBC) API完成的。JDBC为Java应用程序提供了...

    JSP通过JDBC驱动连接各种数据库的方法

    以上就是使用JSP通过JDBC驱动连接不同数据库的基本步骤。实际应用中,为了代码复用和健壮性,通常会将这些操作封装到DAO(Data Access Object)层,使用连接池管理数据库连接,并处理异常。了解这些知识点,能帮助你...

    JSP JDBC 学习笔记(基础)

    1. **JDBC简介**:JDBC是Java API,用于与各种数据库进行连接,执行SQL语句并处理结果。它提供了一套统一的接口,使得开发者无需关心底层数据库的细节。 2. **JDBC驱动**:根据不同的数据库系统,需要引入相应的...

    jsp连接数据库的基本代码

    ### JSP连接数据库基本代码详解 #### 一、概述 在Web开发中,JSP (Java Server Pages) 是一种常用的技术栈,它允许开发者在HTML页面中嵌入Java代码,从而实现动态网页的功能。其中,数据库操作是JSP应用中的核心...

    用纯JSP写的连接数据库MySQL操作

    本项目"用纯JSP写的连接数据库MySQL操作"显然是一个教程或示例,展示了如何在不使用额外Java Servlet的情况下,直接通过JSP来连接并操作MySQL数据库。标签"jdbc"表明了这里使用的是Java Database Connectivity,它是...

Global site tag (gtag.js) - Google Analytics