最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中executeQuery()和executeUpdate()的區(qū)別及說明

 更新時(shí)間:2025年11月06日 09:29:27   作者:@純牛奶  
executeQuery()和executeUpdate()是JDBC中用于執(zhí)行SQL語句的方法,前者用于執(zhí)行查詢語句,返回ResultSet對象;后者用于執(zhí)行修改操作,返回受影響的行數(shù),使用這些方法時(shí)需要注意SQL語句的正確性、資源的釋放以及防止SQL注入

一、概述

executeQuery()和executeUpdate()都是JDBC的方法,用于執(zhí)行SQL語句

二、區(qū)別

1.executeQuery()方法用于執(zhí)行select查詢語句,它返回一個(gè)ResultSet對象,該對象包含與查詢語句匹配的所有行。

ResultSet對象可以用于遍歷和訪問查詢結(jié)果。

例如:

	static ResultSet rs=null;
	static PreparedStatement pst=null;

//------------遍歷學(xué)生數(shù)據(jù)庫
	public void shouMysql()    {
		String sql="select * from  student ";
		try {
			pst = con.prepareStatement(sql);
			System.out.println("MySQL代碼執(zhí)行成功");
			rs = pst.executeQuery();//pst的executeQuery方法執(zhí)行查詢返回結(jié)果集存到rs ,返回值是指針指向開始首地址。
			while(rs.next()) {
		    		System.out.print("賬號:"+rs.getString("code")+" \t");
			    	System.out.print("姓名:"+rs.getString("name")+" \t");
			    	System.out.print("密碼:"+rs.getString("pwd")+" \t");
			    	System.out.println();
		    	}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

2.executeUpdate()方法用于執(zhí)行INSERT、UPDATE和DELETE等修改數(shù)據(jù)庫的操作語句,它返回一個(gè)整數(shù)值,表示受影響的行數(shù)。

例如:

		static PreparedStatement pst=null;
	
//刪除數(shù)據(jù) 根據(jù)code,自己不可以刪除自己
	public void DeletMysql() {
		Scanner sc=new Scanner(System.in);
		System.out.print("請輸入要?jiǎng)h除的賬號:");
		
		String code=sc.nextLine();
		if(code!=id) {
			String sql="delete from student where code = '" + code + "'";
			try {
				pst = con.prepareStatement(sql);//創(chuàng)建pst對象
				pst.executeUpdate();//修改數(shù)據(jù)庫表,把數(shù)據(jù)寫入數(shù)據(jù)庫
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				System.out.println("數(shù)據(jù)沒有刪除成功,可能原因sql語句,或者查詢修改數(shù)據(jù)庫都要用executeUpdate();");
			}//修改數(shù)據(jù)庫表,把數(shù)據(jù)寫入數(shù)據(jù)庫
		}else {
			System.out.println("不可以刪除自身請重寫輸入要?jiǎng)h除賬號");
			DeletMysql();
		}
		
	}
		

需要注意的是:

executeUpdate()方法不能用于執(zhí)行SELECT查詢語句,如果嘗試執(zhí)行SELECT語句,將會拋出SQLException異常。

同樣地,executeQuery()方法也不能用于執(zhí)行INSERT、UPDATE和DELETE等修改數(shù)據(jù)庫的操作語句。

區(qū)別總結(jié):

  • 改動數(shù)據(jù)庫:executeUpdate()
  • 只是看看 :executeQuery()

三、注意事項(xiàng)

1. 使用之前需要先創(chuàng)建一個(gè)Statement對象或PreparedStatement對象,并將SQL語句作為參數(shù)傳遞給它們。

2. SQL語句的正確性非常重要。確保SQL語句語法正確,并且參數(shù)值正確綁定。

3. 在執(zhí)行executeQuery()方法時(shí),只能執(zhí)行SELECT查詢語句,不能執(zhí)行INSERT、UPDATE和DELETE等修改操作語句。

4. 在執(zhí)行executeUpdate()方法時(shí),只能執(zhí)行INSERT、UPDATE和DELETE等修改操作語句,不能執(zhí)行SELECT查詢語句。

5. 需要手動關(guān)閉ResultSet對象和Statement對象,以釋放資源,可以使用try-with-resources語句或在finally塊中關(guān)閉。

6. 對于executeQuery()方法返回的ResultSet對象,可以使用ResultSet對象的方法遍歷和訪問查詢結(jié)果。

7. 對于executeUpdate()方法返回的整數(shù)值,表示受影響的行數(shù),可以用于檢查修改操作的結(jié)果。

8. 可以使用PreparedStatement對象來執(zhí)行帶有占位符的SQL語句,通過設(shè)置相應(yīng)的參數(shù)值來防止SQL注入攻擊。

9. 在執(zhí)行executeUpdate()方法時(shí),如果沒有受影響的行數(shù),可能是因?yàn)閳?zhí)行的SQL語句沒有匹配的數(shù)據(jù)或語句寫錯(cuò)了。

10. 需要確保數(shù)據(jù)庫連接是有效的,并且具有適當(dāng)?shù)臋?quán)限來執(zhí)行SQL語句。

遵循這些注意事項(xiàng)可以幫助避免一些常見的錯(cuò)誤和問題,并確保正確、安全地使用executeQuery()和executeUpdate()方法。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot各種事務(wù)操作實(shí)戰(zhàn)(自動回滾、手動回滾、部分回滾)

    SpringBoot各種事務(wù)操作實(shí)戰(zhàn)(自動回滾、手動回滾、部分回滾)

    本文主要介紹了SpringBoot各種事務(wù)操作實(shí)戰(zhàn),包含自動回滾、手動回滾、部分回滾這三種,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Java實(shí)現(xiàn)圖片合成的示例詳解

    Java實(shí)現(xiàn)圖片合成的示例詳解

    前端有一個(gè)神器——canvas,這個(gè)畫布標(biāo)簽可以處理各種圖片的合成,可以精確到圖片的具體坐標(biāo)。java后端也有這樣的神器,那就是image-combiner,可以很簡單的合成圖片,感興趣的可以試一試
    2022-01-01
  • Java實(shí)現(xiàn)高速視頻下載示例代碼

    Java實(shí)現(xiàn)高速視頻下載示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)高速視頻下載效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-06-06
  • 檢查Java環(huán)境變量是否配置成功的兩種方法

    檢查Java環(huán)境變量是否配置成功的兩種方法

    本文詳細(xì)介紹如何配置Java環(huán)境變量,包括設(shè)置JAVA_HOME路徑及添加到系統(tǒng)PATH中,確保Java命令行工具可用,同時(shí),演示了如何使用命令行編譯和運(yùn)行Java程序,以及使用javap工具進(jìn)行反匯編,需要的朋友可以參考下
    2026-03-03
  • Spring Boot中Bean定義方調(diào)用方式解析

    Spring Boot中Bean定義方調(diào)用方式解析

    這篇文章主要介紹了Spring Boot中Bean定義方調(diào)用方式解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 淺析JVM的垃圾回收器

    淺析JVM的垃圾回收器

    這篇文章主要介紹了JVM垃圾回收器的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java虛擬機(jī)的相關(guān)知識,感興趣的朋友可以了解下
    2020-11-11
  • Java工廠模式的深入了解

    Java工廠模式的深入了解

    這篇文章主要為大家介紹了Java工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java Jwt庫的簡介及使用詳解

    Java Jwt庫的簡介及使用詳解

    JWT 是開放的行業(yè)標(biāo)準(zhǔn)RFC7591,用來實(shí)現(xiàn)端到端安全驗(yàn)證,就是通過一些算法對加密字符串和JSON對象之間進(jìn)行加解密,下面通過本文給大家介紹Java Jwt庫的簡介及使用,感興趣的朋友一起看看吧
    2021-11-11
  • Struts2之Validator驗(yàn)證框架的詳細(xì)介紹

    Struts2之Validator驗(yàn)證框架的詳細(xì)介紹

    Struts2中提供了數(shù)據(jù)校驗(yàn)驗(yàn)證數(shù)據(jù)例如驗(yàn)證郵件、數(shù)字等,本篇文章介紹了Struts2之Validator的詳細(xì)介紹,有興趣的可以了解一下。
    2017-03-03
  • Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡的解決方案

    Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡的解決方案

    Spring?Cloud?Alibaba?致力于提供微服務(wù)開發(fā)的一站式解決方案,此項(xiàng)目包含開發(fā)分布式應(yīng)用微服務(wù)的必需組件,這篇文章主要介紹了Alibaba?SpringCloud集成Nacos、openFeign實(shí)現(xiàn)負(fù)載均衡,需要的朋友可以參考下
    2024-05-05

最新評論

麻城市| 五台县| 松溪县| 张家界市| 镇平县| 横山县| 文水县| 科技| 通化市| 金门县| 通化市| 惠州市| 金阳县| 谷城县| 三门县| 宁波市| 上思县| 民乐县| 丽江市| 彰化县| 延庆县| 海原县| 天柱县| 峨眉山市| 贵南县| 潼南县| 隆德县| 华阴市| 中西区| 大新县| 会泽县| 甘洛县| 浠水县| 河南省| 庐江县| 正镶白旗| 刚察县| 昭苏县| 南木林县| 九龙县| 永胜县|