91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jdbc怎么讀寫blob類型的數據

發布時間:2021-06-28 17:53:41 來源:億速云 閱讀:196 作者:chen 欄目:編程語言

本篇內容介紹了“jdbc怎么讀寫blob類型的數據”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1 MySQL BLOB類型

  • MySQL中,BLOB是一個二進制大型對象,是一個可以存儲大量數據的容器,它能容納不同大小的數據。

  • 插入BLOB類型的數據必須使用PreparedStatement,因為BLOB類型的數據無法使用字符串拼接寫的。

  • MySQL的四種BLOB類型(除了在存儲的最大信息量上不同外,他們是等同的)

jdbc怎么讀寫blob類型的數據

  • 實際使用中根據需要存入的數據大小定義不同的BLOB類型。

  • 需要注意的是:如果存儲的文件過大,數據庫的性能會下降。

  • 如果在指定了相關的Blob類型以后,還報錯:xxx too large,那么在mysql的安裝目錄下,找my.ini文件加上如下的配置參數: max_allowed_packet=16M。同時注意:修改了my.ini文件之后,需要重新啟動mysql服務。

2 向數據表中插入大數據類型

//獲取連接Connection conn = JDBCUtils.getConnection();
		
String sql = "insert into customers(name,email,birth,photo)values(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);

//java項目www.fhadmin.org// 填充占位符ps.setString(1, "張強");
ps.setString(2, "123@126.com");
ps.setDate(3, new Date(new java.util.Date().getTime()));// 操作Blob類型的變量FileInputStream fis = new FileInputStream("xhq.png");
ps.setBlob(4, fis);//執行ps.execute();
		
fis.close();
JDBCUtils.closeResource(conn, ps);

3 修改數據表中的Blob類型字段

Connection conn = JDBCUtils.getConnection();
String sql = "update customers set photo = ? where id = ?";
PreparedStatement ps = conn.prepareStatement(sql);

//java項目www.fhadmin.org// 填充占位符// 操作Blob類型的變量FileInputStream fis = new FileInputStream("coffee.png");
ps.setBlob(1, fis);
ps.setInt(2, 25);

ps.execute();

fis.close();
JDBCUtils.closeResource(conn, ps);

4 從數據表中讀取大數據類型

//java項目www.fhadmin.org
String sql = "SELECT id, name, email, birth, photo FROM customer WHERE id = ?";
conn = getConnection();
ps = conn.prepareStatement(sql);
ps.setInt(1, 8);
rs = ps.executeQuery();if(rs.next()){
	Integer id = rs.getInt(1);
    String name = rs.getString(2);
	String email = rs.getString(3);
    Date birth = rs.getDate(4);
	Customer cust = new Customer(id, name, email, birth);
    System.out.println(cust); //讀取Blob類型的字段
	Blob photo = rs.getBlob(5);
	InputStream is = photo.getBinaryStream();
	OutputStream os = new FileOutputStream("c.jpg");	byte [] buffer = new byte[1024];	int len = 0;	while((len = is.read(buffer)) != -1){
		os.write(buffer, 0, len);
	}
    JDBCUtils.closeResource(conn, ps, rs);		
	if(is != null){
		is.close();
	}		
	if(os !=  null){
		os.close();
	}
    
}

“jdbc怎么讀寫blob類型的數據”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

自贡市| 米脂县| 罗定市| 应城市| 昌乐县| 曲靖市| 鸡西市| 北海市| 江城| 宝丰县| 聂拉木县| 延津县| 咸丰县| 仁怀市| 中西区| 正宁县| 静海县| 五家渠市| 北安市| 谷城县| 且末县| 鄂温| 白朗县| 乃东县| 拉萨市| 惠水县| 十堰市| 安吉县| 木里| 临沂市| 陆川县| 余干县| 通河县| 黑山县| 会东县| 淅川县| 咸阳市| 阿拉善右旗| 武山县| 苏州市| 田东县|