JDBC-java操作數據庫

1.基本結構:

package com.atguigu.servlets;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "update account set money = 2000 where id = 1";Statement stmt = conn.createStatement();int count = stmt.executeUpdate(sql);System.out.println(count);stmt.close();conn.close();}
}

2.詳細api解釋:

①DriverManager(驅動管理類)作用:注冊驅動? 獲取數據庫連接

②Connectiong作用:獲取執行sql的對象:createStatement()? prepareStatement(sql)

③Statement作用:執行sql語句? ?int executeUpdate(sql)執行DML(數據操作語句:數據進行操作)、DDL(數據定義語句:操作數據庫對象的結構)? ? 返回影響的行數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ResultSet executeQuery(sql)執行DQL語句(數據查詢語句:進行數據的查詢) 返回結果集

④ResultSet作用:封裝了DQL查詢的結果

ResultSet stmt.executeQuery(sql)

ResultSet中定義的方法:
?

boolean next():向前移動一行,判斷當前行是否為有效行,true為有效, false為無效

xxx getXxx(參數)獲取數據

參數:int 列的編號? ?String:列的名稱

package com.atguigu.servlets;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "select * from account";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while (rs.next()){int id = rs.getInt(1);String name = rs.getString(2);double money = rs.getDouble(3);System.out.println(id);System.out.println(name);System.out.println(money);}stmt.close();conn.close();}
}

⑤PreparedStatement作用:預編譯sql語句并執行

優點:預編譯sql,性能更好;防止sql注入;

想要打開預編譯功能,需要在連接的url后加入一串代碼

String url = "jdbc:mysql:///mysql&userServerPreStmts=true";
package com.atguigu.servlets;import java.sql.*;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "select * from  user where name = ? and password = ?";PreparedStatement pstmt = conn.prepareStatement(sql);String inname = "wangwu";int inps = 123456;pstmt.setString(1, inname);pstmt.setInt(2, inps);pstmt.executeQuery();pstmt.close();conn.close();}
}

獲取對象:

(1)注冊驅動

Class.forName(("com.mysql.jdbc.Driver"));

mqsql5之后的驅動包就可以省略注冊驅動的步驟

(2)獲取連接對象

Connection conn = DriverManager.getConnection(url, username, password);

其中,url的語法:

jdbc:mysql://ip地址(域名:localhost)/數據庫名稱

實例: String url = "jdbc:mysql://localhost/mysql";

細節:如果連接的是本機mysql數據庫,端口號為3306,則可以簡寫

String url = "jdbc:mysql:///mysql";

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81907.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81907.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81907.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

七彩喜適老化改造:讓每個空間成為長者尊嚴的守護者

隨著我國老齡化進程的加速,居家養老逐漸成為老年人首選的生活方式。 為了讓老年人能夠在熟悉的環境中安享晚年,適老化改造應運而生。 七彩喜作為居家養老服務的創新者,致力于通過科學設計和人性化改造,為老年人提供安全、舒適、…

【動態規劃】5 從一次函數出發推導斜率優化dp

背景 基于例題《任務安排》逐步推導進行斜率優化。 引入 例題:P2365 任務安排 考慮動態規劃。使用 d p i , j dp_{i,j} dpi,j? 表示前 i i i 個任務分了 j j j 段的最小費用。 顯然,有 d p i , j min ? k 1 i ? 1 ( d p i , j , d p k , j…

MySQL中實現大數據量的快速插入

一、SQL語句優化? 1. ?批量插入代替單條插入? ?單條插入會頻繁觸發事務提交和日志寫入,效率極低。?批量插入通過合并多條數據為一條SQL語句,減少網絡傳輸和SQL解析開銷。 -- 低效寫法:逐條插入 INSERT INTO table (col1, col2) VALUE…

C++23中std::span和std::basic_string_view可平凡復制提案解析

文章目錄 一、引言二、相關概念解釋2.1 平凡復制(Trivially Copyable)2.2 std::span2.3 std::basic_string_view 三、std::span和std::basic_string_view的應用場景3.1 std::span的應用場景3.2 std::basic_string_view的應用場景 四、P2251R1提案對std::…

廣東省省考備考(第十八天5.23)—言語:語句填空題(聽課后強化訓練)

錯題 解析 橫線出現在文段中間,需結合上下文內容進行分析。文段開篇指出逃離北上廣深的話題時而出現,一些人離開大城市回到小城市。隨后通過轉折詞“但”引出橫線內容,且結合橫線后人才傾向于向更發達的地方流動的內容,橫線處應體…

持續更新 ,GPT-4o 風格提示詞案例大全!附使用方式

本文匯集了各類4o風格提示詞的精選案例,從基礎指令到復雜任務,從創意寫作到專業領域,為您提供全方位的參考和靈感。我們將持續更新這份案例集,確保您始終能夠獲取最新、最有效的提示詞技巧。 讓我們一起探索如何通過精心設計的提…

創建型:建造者模式

目錄 1、核心思想 2、實現方式 2.1 模式結構 2.2 工作流程 2.3 實現案例 2.4 變體:鏈式建造者(常見于多參數對象,無需指揮者) 3、優缺點分析 4、適用場景 1、核心思想 目的:將復雜對象的構建過程與其表示分離…

力扣-長度最小的子數組

1.題目描述 2.題目鏈接 LCR 008. 長度最小的子數組 - 力扣(LeetCode) 3.題目分析 這道題目我們使用的也是雙指針。我們可以定義兩個指針都指向數組第一個元素,然后使用right指針遍歷原數組,計算left指針到right指針之間的所有元…

JAVA開發工具延長方案

親測穩定的延長方案與避坑指南 真的搞不懂了,說點專業的術語竟然成了 QINQUAN。那就直接點,把這個方案帶給需要的開發者。 延長工具直通車 保姆級教程 延長方案https://mp.weixin.qq.com/s/uajM2Y9Vz6TnolzcLur_bw還是讓大家看看,發什么會被…

SpringAI開發SSE傳輸協議的MCP Server

SpringAI 訪問地址:Spring AI ? Spring AI?是一個面向人工智能工程的應用框架,由Spring團隊推出,旨在將AI能力集成到Java應用中。Spring AI的核心是解決AI集成的根本挑戰,即將企業數據和API與AI模型連接起來?。 MCP…

JAVA動態生成類

在java的加載過程一般都是要預先定義java類,然后通過經過加載->連接->初始化三步。連接過程又可分為三步:驗證->準備->解析。初始化的類是不允許修改。但是在日常的工作中有時候需要動態生成類,那第這種情況怎么辦呢? 可以這么處理: 1、先定義一個空的類,僅…

深入解析Java微服務架構:Spring Boot與Spring Cloud的整合實踐

深入解析Java微服務架構:Spring Boot與Spring Cloud的整合實踐 引言 隨著云計算和分布式系統的快速發展,微服務架構已成為現代軟件開發的主流模式。Java作為企業級應用開發的核心語言,結合Spring Boot和Spring Cloud,為開發者提…

03_基礎篇-NumPy(下):深度學習中的常用操作

03_基礎篇-NumPy(下):深度學習中的常用操作 通過上節課的學習,我們已經對NumPy數組有了一定的了解,正所謂實踐出真知,今天我們就以一個圖像分類的項目為例,看看NumPy的在實際項目中都有哪些重要…

時鐘識別項目報告(深度學習、計算機視覺)

深度學習方式 一、模型架構 本模型采用雙任務學習框架,基于經典殘差網絡實現時鐘圖像的小時和分鐘同步識別。 主干網絡 使用預訓練的ResNet18作為特征提取器,移除原分類層(fc層),保留全局平均池化后的512維特征向量。…

openai-whisper-asr-webservice接入dify

openai-whisper-asr-webservice提供的asr的api其實并不兼容openai的api,所以在dify中是不能直接添加到語音轉文字的模型中,對比了下兩個api的傳參情況,其實只要改動一處,就能支持: openai兼容的asr調用中formdata中音頻…

解鎖MySQL性能調優:高級SQL技巧實戰指南

高級SQL技巧:解鎖MySQL性能調優的終極指南 開篇 當前,隨著業務系統的復雜化和數據量的爆炸式增長,數據庫性能調優成為了技術人員面臨的核心挑戰之一。尤其是在高并發、大數據量的場景下,SQL 查詢的性能直接影響到整個系統的響應…

JavaScript 性能優化實戰指南

JavaScript 性能優化實戰指南 前言 隨著前端應用復雜度提升,JavaScript 性能瓶頸日益突出。高效的性能優化不僅能提升用戶體驗,還能增強系統穩定性和可維護性。本文系統梳理了 JavaScript 性能優化的核心思路、常見場景和實戰案例,結合代碼…

服務器磁盤按陣列劃分為哪幾類

以下是服務器磁盤陣列(RAID)的詳細分類及技術解析,基于現行行業標準與實踐應用: 一、主流RAID級別分類 1. ?RAID 0(條帶化)? ?技術原理?:數據分塊后并行寫入多塊磁盤,無…

鴻蒙 Location Kit(位置服務)

移動終端設備已經深入人們日常生活的方方面面,如查看所在城市的天氣、新聞軼事、出行打車、旅行導航、運動記錄。這些習以為常的活動,都離不開定位用戶終端設備的位置。 Location Kit 使用多種定位技術提供服務,可以準確地確定設備在室外/室…

二叉樹深搜:在算法森林中尋找路徑

專欄:算法的魔法世界 個人主頁:手握風云 目錄 一、搜索算法 二、回溯算法 三、例題講解 3.1. 計算布爾二叉樹的值 3.2. 求根節點到葉節點數字之和 3.3. 二叉樹剪枝 3.4. 驗證二叉搜索樹 3.5. 二叉搜索樹中第 K 小的元素 3.6. 二叉樹的所有路徑 …