Java Servlet调用数据库复习

首先要导入jar包。

剩下的基本就是模版式的代码了:

public class main {

	// JDBC 驱动名及数据库 URL
		static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
		static final String DB_URL = "jdbc:mysql://localhost:3306/test";//端口号,数据库名

		// 数据库的用户名与密码,需要根据自己的设置
		static final String USER = "root";
		static final String PASS = "";

	public static void main(String args[]){

		Connection conn = null;
		Statement stmt = null;
		try{
			// 注册 JDBC 驱动
			Class.forName("com.mysql.jdbc.Driver");

			// 打开链接
			System.out.println("连接数据库...");
			conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);

			// 执行查询
			System.out.println(" 实例化Statement对...");
			stmt = (Statement) conn.createStatement();
			String sql;

			sql = "INSERT INTO students VALUES(\"li\",\"1234\")";//向数据库中插入数据
		    stmt.executeUpdate(sql);

			sql = "SELECT unmber, name FROM students";
			ResultSet rs = stmt.executeQuery(sql);

			// 展开结果集数据库
			while(rs.next()){
				// 通过字段检索

				String name = rs.getString("name");
				String id = rs.getString("unmber");

				// 输出数据
				System.out.print("ID: " + id);
				System.out.print(", 名称: " + name);

				System.out.print("\n");
			}
			// 完成后关闭
			rs.close();
			stmt.close();
			conn.close();
		}catch(SQLException se){
			// 处理 JDBC 错误
			se.printStackTrace();
		}catch(Exception e){
			// 处理 Class.forName 错误
			e.printStackTrace();
		}finally{
			// 关闭资源
			try{
				if(stmt!=null) stmt.close();
			}catch(SQLException se2){
			}// 什么都不做
			try{
				if(conn!=null) conn.close();
			}catch(SQLException se){
				se.printStackTrace();
			}
		}
		System.out.println("Goodbye!");
	}

}

Servlet通过java调用数据库

基本上与java直接调用一模一样。

但是有一点很重要!!!!!!!!!!!

千万不要把jar包导入到web项目下,会报ClassNotFound异常。

把jar包删了,放到tomcat的lib下就行。

public class Hello extends HttpServlet {

	 private static final long serialVersionUID = 1L;
		// JDBC 驱动名及数据库 URL
		static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
		static final String DB_URL = "jdbc:mysql://localhost:3306/test";

		// 数据库的用户名与密码,需要根据自己的设置
		static final String USER = "root";
		static final String PASS = ""; 

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Hello() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		Connection conn = null;
		Statement stmt = null;
		// 设置响应内容类型
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		String title = "Servlet Mysql";
		String docType = "<!DOCTYPE html>\n";
		out.println(docType +
		"<html>\n" +
		"<head><title>" + title + "</title></head>\n" +
		"<body bgcolor=\"#f0f0f0\">\n" +
		"<h1 align=\"center\">" + title + "</h1>\n");
		try{
			// 注册 JDBC 驱动器
			Class.forName("com.mysql.jdbc.Driver");

			// 打开一个连接
			conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);

			// 执行 SQL 查询
			stmt = (Statement) conn.createStatement();
			String sql;
			sql = "SELECT unmber, name FROM students";
			ResultSet rs = stmt.executeQuery(sql);

			// 展开结果集数据库
			while(rs.next()){
				// 通过字段检索
				String name = rs.getString("name");
				String id = rs.getString("unmber");

				// 输出数据
				out.println("ID: " + id);
				out.println(",名称: " + name);

				out.println("<br />");
			}
			out.println("</body></html>");

			// 完成后关闭
			rs.close();
			stmt.close();
			conn.close();
		} catch(SQLException se) {
			// 处理 JDBC 错误
			se.printStackTrace();
		} catch(Exception e) {
			// 处理 Class.forName 错误
			e.printStackTrace();
		}finally{
			// 最后是用于关闭资源的块
			try{
				if(stmt!=null)
				stmt.close();
			}catch(SQLException se2){
			}
			try{
				if(conn!=null)
				conn.close();
			}catch(SQLException se){
				se.printStackTrace();
			}
		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

时间: 2024-08-08 20:25:27

Java Servlet调用数据库复习的相关文章

java代码调用数据库存储过程

由于前边有写java代码调用数据库,感觉应该把java调用存储过程也写一下,所以笔者补充该篇! package testSpring; import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet; import oracle.jdbc.OracleCalla

java servlet调用带有多个返回结果集的存储过程

一.mysql存储过程 这里我先说下我这个功能实现的逻辑及途中遇到的一些问题.这个存储过程一共带两个输入参数,一共关联到两张表的查询,每个参数都对应查询表中的一个判断,所以一共返回了两个结果集(当然要返回更多结果集也是一样的,如果需要判断,就继续增加存储过程参数,如果不需要判断就直接在存储过程中,增加查询的SQL语句即可).实现这个功能还有更简单的方法,可以写SQL关联语句查询出两张表的结果,返回一个组合的结果集.我这里当然是为了实现这个效果,所以把它的实现复杂化了.继续说下我今天在mysql上

java中调用数据库中的存储过程和函数

public static void main(String[] args) {         Connection conn =getConnection(url,user, pwd);         System.out.println("数据连接成功");         CallableStatement cs=null;         try         {    //调用数据库中的存储过程              cs = conn.prepareCall(&q

java编程——servlet和Ajax异步请求的接口编程(没有调用数据库的数据)

编程应用背景: 使用HttpServlet接口来编写一个动态登录的接口(需要在Tomcat容器发布) 登录的 LoginSample 类代码: 1 package com.zhang.java; 2 3 public class LoginSample { 4 public LoginSample() { //构造方法 5 // System.out.println("构造方法被调用!"); 6 } 7 8 public boolean login(String ln, String

Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件

本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.HashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import

JAVA调用数据库存储过程

1.首相给数据库创建一个简单的存储过程:(在这里我是创建的Oracle数据库的存储过程) create or replace procedure stu_upd(nname varchar2,npassword varchar2) isbegin update student set name=nname where password=npassword;end pl_pro; create or replace procedure stu_del(nid number)isbegin dele

jsp连接数据库显示数据库数据、java连接数据库调用数据。

JSP直接调用数据库,需要数据库连接相关jar包: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transi

Java基础系列12:使用CallableStatement接口调用数据库中的存储过程

前言:以下内容均以MySQL中的存储过程举例说明 一 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是

Java Servlet系列之Servlet生命周期

Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet.无论有多少客户机访问Servlet,都不会重复执行init(): 2. service()方法 它是Servlet的核心,每当