日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > htmlcss > JSP詳細(xì)篇――JDBC操作數(shù)據(jù)庫(二)

JSP詳細(xì)篇――JDBC操作數(shù)據(jù)庫(二)

來源:程序員人生   發(fā)布時間:2014-12-14 08:47:15 閱讀次數(shù):3418次

刪除數(shù)據(jù)

范例:

在查詢所有圖書信息的頁面中,添加刪除圖書信息的超鏈接,通過Servlet實現(xiàn)對數(shù)據(jù)的刪除操作

(1)在book_list.jsp中,增加刪除圖書信息的超鏈接,將連接的地址指向DeleteServlet

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF⑻"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'check.jsp' starting page</title>

    

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/csshref="styles.css">

-->

 

  </head>

  

  <body>

    <a href="FindServlet">查看所有圖書信息</a>

  </body>

</html>

 

(2)編寫DeleteServlet,在doGet()方法中,編寫刪除圖書信息的方法

 

package com.zgy.servlet;

 

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

public class DeleteServlet extends HttpServlet {

 

/**

 * 

 */

private static final long serialVersionUID = 1L;

@Override

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// TODO Auto-generated method stub

int id = Integer.valueOf(request.getParameter("id"));//獲得圖書id

try{

Class.forName("com.mysql.jdbc.Driver");//注冊驅(qū)動

String url = "jdbc:mysql://localhost:3306/zhouguanya";//數(shù)據(jù)庫連接字符串

String user = "root";//數(shù)據(jù)庫用戶名

String password = "root";//數(shù)據(jù)庫密碼

String sql = "delete from books where id = ?";//sql語句

Connection conn = DriverManager.getConnection(url, user, password);//創(chuàng)建Connection連接

PreparedStatement ps = conn.prepareStatement(sql);//獲得PreparedStatement對象

ps.setInt(1, id);//設(shè)置sql中的?

ps.executeUpdate();//履行更新操作

ps.close();//關(guān)閉PreparedStatement

conn.close();//關(guān)閉Connection

}catch(ClassNotFoundException e){

e.printStackTrace();

}catch(SQLException e){

e.printStackTrace();

}

response.sendRedirect("FindServlet");//重定向到FindServlet

}

}

 

批處理

JDBC開發(fā)中,操作數(shù)據(jù)庫需要與數(shù)據(jù)庫建立連接,然后將要履行的SQL語句傳送到數(shù)據(jù)庫服務(wù)器,最后關(guān)閉數(shù)據(jù)庫連接。如果依照這個流程履行多條SQL語句,那末就需要建立多個數(shù)據(jù)庫連接,這樣會浪費很多時間。針對這1問題,JDBC的批處理提供了很好的解決方法。

JDBC中批處理的原理就是將批量的SQL語句1次性的發(fā)送到數(shù)據(jù)庫中履行,從而解決了屢次與數(shù)據(jù)庫連接所產(chǎn)生的速度問題。

范例:

創(chuàng)建學(xué)生信息表,通過JDBC的批處理操作,1次性將多個學(xué)生的信息寫入數(shù)據(jù)庫

(1)創(chuàng)建student

(2)創(chuàng)建名稱為Batch的類,實現(xiàn)對學(xué)生信息的批量添加。

 

package com.zgy.batchsql;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.Random;

 

public class Batch {

/*

 * 獲得數(shù)據(jù)庫連接

 * 

 * @return Connection對象

 */

public Connection getConnection() {

Connection conn = null;// 數(shù)據(jù)庫連接

try {

Class.forName("com.mysql.jdbc.Driver");// 注冊驅(qū)動

String url = "jdbc:mysql://localhost:3306/zhouguanya";// 連接數(shù)據(jù)庫的字符串

String user = "root";// 數(shù)據(jù)庫用戶名

String password = "root";// 數(shù)據(jù)庫密碼

conn = DriverManager.getConnection(url, user, password);// 創(chuàng)建Connection對象

catch (ClassNotFoundException e) {

e.printStackTrace();

catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

 

/*

 * 批量添加數(shù)據(jù)

 * 

 * @return 所影響的行數(shù)

 */

public int saveBatch(){

int row = 0;

Connection conn = getConnection();

try{

String sql = "insert into student(student_id,student_name,student_age,student_class) values (?,?,?,?)";

PreparedStatement ps = conn.prepareStatement(sql);

Random random = new Random();

for(int i = 0 ; i < 20 ; i++){

ps.setInt(1, i+1);//對student_id賦值

ps.setString(2, "學(xué)生"+(i+1));//對studet_name賦值

ps.setInt(3, random.nextInt(5)+10);//對student_age賦值

ps.setString(4, "班級"+(i+1));//對student_class賦值

ps.addBatch();//添加批處理

}

int[] rows = ps.executeBatch();//履行批處理操作返回計數(shù)組成的數(shù)組

row = rows.length;//對行進(jìn)行賦值

ps.close();

conn.close();

}catch(SQLException e){

e.printStackTrace();

}

return row;

}

}

(3)創(chuàng)建batchsql.jsp頁面,在該頁面中使用<jsp:useBean>實例化Batch,并履行批量添加數(shù)據(jù)的操作。

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF⑻"%>

 

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'batchsql.jsp' starting page</title>

    

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/csshref="styles.css">

-->

 

  </head>

  

  <body>

    <jsp:useBean id="batch" class="com.zgy.batchsql.Batch"></jsp:useBean>

    <%

     int row = batch.saveBatch();

     out.print("批量插入了"+row+"條數(shù)據(jù)");

     %>

  </body>

</html>




生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日韩在线精品视频 | 成人在线一区二区 | 日韩三区在线 | 99精品视频在线观看视频 | 中文字幕成人av | 欧美 日韩 国产 在线 | 婷婷久久综合九色综合绿巨人 | 欧美亚洲三级 | 日韩久久三级 | 国产精品 欧美激情 | 欧美天天 | 激情婷婷综合 | 国产精品久久久久久久久久久杏吧 | 性毛片| 一区二区三区久久久 | 成人免费视频观看视频 | 久久久久久久综合 | 国产综合一区二区 | 久久视频在线免费观看 | 国内精品久久久久久久 | 亚洲免费网站 | 中文字幕三级 | av成人在线电影 | 97av视频在线 | 一区二区三区在线观看视频 | 国产成人视屏 | 玖玖玖影院 | 91精品久久久久 | 日韩精品在线免费观看 | a级毛片免费高清在线播放 视频精品一区二区三区 | 日韩av网站免费 | 亚洲精品一二三 | 日韩 欧美 综合 | 精品成人在线视频 | www一区二区 | 99视频在线免费观看 | 成人黄色一级视频 | 精品久久久一区二区 | 日韩在线视频一区 | 亚洲精品二 | 欧美日韩国产色综合一二三四 |