麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

使用PreparedStatement實現增刪該查

2024-04-27 15:16:45
字體:
來源:轉載
供稿:網友

java,servlet中的PReparedStatement 接口繼承了Statement,并與之在兩方面有所不同:有人主張,在JDBC應用中,如果你已經是稍有水平開發者,你就應該始終以PreparedStatement代替Statement.也就是說,在任何時候都不要使用Statement。

以下的代碼段(其中 con 是 Connection 對象)創建包含帶兩個 IN 參數占位符的 SQL 語句的 PreparedStatement 對象:

PreparedStatement pstmt = con.prepareStatement("UPDATE table4 SET m = ? WHERE x = ?")

在執行 PreparedStatement 對象之前,必須設置每個 ? 參數的值。這可通過調用 setXXX 方法來完成,其中 XXX 是與該參數相應的類型。例如,如果參數具有Java 類型 long,則使用的方法就是 setLong。setXXX 方法的第一個參數是要設置的參數的序數位置,第二個參數是設置給該參數的值。例如,以下代碼將第一個參數設為 123456789,第二個參數設為 100000000:

pstmt.setLong(1, 123456789);

pstmt.setLong(2, 100000000);

使用PreparedStatement來實現增刪該查的源碼,可反復推敲:

 

package com.bjsxt.bbs2009.service;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.HashSet;import java.util.Set;import com.bjsxt.bbs2009.model.Category;import com.bjsxt.bbs2009.util.DB;public class CategoryService {	public void add(Category category) {		Connection conn = DB.createConnectionion();		String sql = "insert into _category values (null, ?, ?)";		PreparedStatement ps = DB.prepare(conn, sql);		try {			ps.setString(1, "JavaSE");			ps.setString(2, "JavaSE Description");			ps.executeUpdate();		} catch (SQLException e) {			e.printStackTrace();		}		DB.close(ps);		DB.close(conn);	}		public void update(Category c) {		Connection conn = DB.createConnectionion();		String sql = "update _category set name = ? and descrition = ? where id = ?";		PreparedStatement ps = DB.prepare(conn, sql);		try {			ps.setString(1, c.getName());			ps.setString(2, c.getDescription());			ps.setInt(3, c.getId());			ps.executeUpdate();		} catch (SQLException e) {			e.printStackTrace();		}		DB.close(ps);		DB.close(conn);	}		public void delete(Category c) {		deleteById(c.getId());	}		public void deleteById(int id) {		Connection conn = DB.createConnectionion();		String sql = "delete from _category where id = ?";		PreparedStatement ps = DB.prepare(conn, sql);		try {			ps.setInt(1, id);			ps.executeUpdate();		} catch (SQLException e) {			e.printStackTrace();		}		DB.close(ps);		DB.close(conn);	}		public Set<Category> query() {		Connection conn = DB.createConnectionion();		String sql = "select id, name, description from _category";		PreparedStatement ps = DB.prepare(conn, sql);		ResultSet rs = null;				Set<Category> categories = new HashSet<Category>();		try {			rs = ps.executeQuery();			Category c = null;			while(rs.next()) {				c = new Category();				c.setId(rs.getInt("id"));				c.setName(rs.getString("name"));				c.setDescription(rs.getString("description"));				categories.add(c);			}		} catch (SQLException e) {			e.printStackTrace();		}		DB.close(ps);		DB.close(conn);		return categories;	}}

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级大片 | 亚洲一区二区免费 | 亚洲小视频在线 | 国产二区三区四区 | 国产精品一区在线免费观看 | 九色com| 九一免费版在线观看 | 色999中文字幕 | 久久欧美亚洲另类专区91大神 | 欧美成人免费看 | 黄色一级毛片免费看 | 人人玩人人爽 | 日本免费一区二区三区四区 | 成人啪啪色婷婷久 | 干一夜综合 | 人人玩人人爽 | 亚洲第一色婷婷 | 3344永久免费 | 成人短视频在线观看 | 亚洲小视频在线播放 | 91成人久久 | 一区二区免费 | 欧美 国产 综合 | 久久久一区二区三区四区 | 久久99精品久久久久久国产越南 | 中文字幕 亚洲一区 | 在线播放中文 | 午夜精品久久久久久久爽 | 国产高潮好爽受不了了夜色 | 视频一区二区三区视频 | sesee99| 怦然心动50免费完整版 | 成人免费网站在线观看视频 | 欧美日韩视频网站 | 成人精品一区二区三区中文字幕 | 日本在线一区二区 | 全黄裸片武则天一级第4季 偿还电影免费看 | 色综合久久久久久久久久 | 99精品电影 | 99激情视频| 毛片小网站 |