Eclipse中java向數據庫中添加數據,更新數據,刪除數據


前面詳細寫過如何連接數據庫的具體操作,下面介紹向數據庫中添加數據。

注意事項:如果參考下面代碼,需要

改包名,數據庫名,數據庫賬號,密碼,和數據表(數據表里面的信息)

 1 package com.ningmeng;  2  3 import java.sql.*;  4  5 /**  6  * 1:向數據庫中添加數據  7  * @author biexiansheng  8  *  9 */ 10 public class Test01 { 11 12 public static void main(String[] args) { 13 try { 14 Class.forName("com.mysql.jdbc.Driver");//加載數據庫驅動 15 System.out.println("加載數據庫驅動成功"); 16 String url="jdbc:mysql://localhost:3306/test";//聲明數據庫test的url 17 String user="root";//數據庫的用戶名 18 String password="123456";//數據庫的密碼 19 //建立數據庫連接,獲得連接對象conn(拋出異常即可) 20 Connection conn=DriverManager.getConnection(url, user, password); 21 System.out.println("連接數據庫成功"); 22 //生成一條mysql語句 23 String sql="insert into users(username,password,age,sex) values('小別','123456',22,0)"; 24 Statement stmt=conn.createStatement();//創建一個Statement對象 25 stmt.executeUpdate(sql);//執行sql語句 26 System.out.println("插入到數據庫成功"); 27  conn.close(); 28 System.out.println("關閉數據庫成功"); 29 } catch (ClassNotFoundException e) { 30 // TODO Auto-generated catch block 31  e.printStackTrace(); 32 }// 33 catch (SQLException e) { 34 // TODO Auto-generated catch block 35  e.printStackTrace(); 36  } 37 38  } 39 40 }

 

詳細運行結果

這樣就可以完美插入數據,增刪改查第一步完美解決。

簡單介紹一下所使用的知識點:

在java程序中一旦建立了數據庫的連接,就可以使用Connection接口的createStatement()方法來獲得statement對象

然后通過excuteUpdate()方法來執行sql語句,就可以向數據庫中添加數據了。

1:createStatement()方法是Connection接口的方法,用來創建Statement對象

2:Connection接口代表和特定的數據庫連接,要對數據庫中數據表的數據進行操作,首先要獲取數據庫連接。

3:Statement接口用於創建向數據庫中傳遞SQL語句的對象,該接口提供了一些方法可以實現對數據庫的常用操作。

4:Statement接口中的excuteUpdate()方法執行給定的SQL語句,該語句可以是INSERT,UPDATE,DELETE語句。




第二種方法

使用PreparedStatement接口向mysql數據庫中插入數據

 1 package com.ningmeng;  2  3 import java.sql.*;  4  5 /**  6  * 1:使用PreparedStatement接口來執行插入語句  7  *  8  * @author biexiansheng  9  * 10 */ 11 public class Test02 { 12 13 public static void main(String[] args) { 14 // TODO Auto-generated method stub 15 try { 16 Class.forName("com.mysql.jdbc.Driver");//加載數據庫驅動 17 System.out.println("加載數據庫驅動成功"); 18 String url="jdbc:mysql://localhost:3306/test";//聲明數據庫test的url 19 String user="root";//數據庫用戶名 20 String password="123456";//數據庫密碼 21 //建立數據庫連接,獲得連接對象conn 22 Connection conn=DriverManager.getConnection(url, user, password); 23 System.out.println("連接數據庫驅動成功"); 24 //生成一條SQL語句 25 String sql="insert into users(username,password,age,sex) values(?,?,?,?)"; 26 PreparedStatement ps=conn.prepareStatement(sql);//創建一個Statement對象 27 ps.setNString(1,"lisi");//為sql語句中第一個問號賦值 28 ps.setString(2,"123456");//為sql語句中第二個問號賦值 29 ps.setInt(3,24);//為sql語句第三個問號賦值 30 ps.setInt(4,2);//為sql語句的第四個問號賦值 31 ps.executeUpdate();//執行sql語句 32 conn.close();//關閉數據庫連接對象 33 System.out.println("關閉數據庫連接對象"); 34 } catch (ClassNotFoundException e) { 35 // TODO Auto-generated catch block 36  e.printStackTrace(); 37 } catch (SQLException e) { 38 // TODO Auto-generated catch block 39  e.printStackTrace(); 40  } 41 42 43  } 44 45 }

 

由於剛才不小心多執行了一遍第一個程序,所以多了一行id==7的,特此注釋一下

1:PreparedStatement接口繼承Statement,用於執行動態的SQL語句,通過PreparedStatement實例執行SQL語句,將被預編譯並且保存到PreparedStatement實例中,從而可以反復的執行該SQL語句。

2:PreparementStatement接口中的方法,如executeUpdate在此PrepareStatement對象中執行sql語句,該sql語句必須是一個INSERT.UPDATE,DELETE語句,或者是沒有返回值的DDL語句。

3:setString(int pIndex,String str)將參數pIndex位置上設置為給定的String類型的參數,俗語就是在第幾個位置寫上符合的數據類型

setInt(int pIndex,int x)

其他的都類似,不作多敘述






 

更深層次的理解JDBC對java程序和數據庫之間的操作







 

JDBC技術的常用類和接口

必須搞明白這些關系,不能只會寫代碼,理解其含義。 (1):必須清楚,JDBC是一種可用於執行SQL語句的JAVA API(Application Programming Interface,應用程序設計接口),是連接數據庫和java應用程序的一個紐帶。

(2):DriverManager類用來管理數據庫中的所有驅動程序,是JDBC的管理層,作用與用戶和驅動程序之間,跟蹤可用的驅動程序,並在數據庫的驅動程序之間建立連接。 DriverManager類最常用的方法是 getConnection(String url,String user,String password);

(3):Connection接口代表與特定的數據庫的連接,要對數據表中的數據進行操作,首先要獲取數據庫的連接。Connection實例就像在應用程序與數據庫之間開通了一條通道。 可通過DriverManager類的getConnection()方法獲取Connection實例。 比如: Connection conn=DriverManager.getConnection(url, user, password); Statement stmt=conn.createStatement();//創建一個Statement對象
Connection接口常用的方法是: createStatement()創建Statement對象 close()立即釋放此Connection對象的數據庫和JDBC資源,而不是等待它們被自動釋放。

(4):Statement接口用於創建向數據庫中傳遞SQL語句的對象,該接口提供了一些方法可以實現對數據庫的常用操作。(Statement接口用於執行靜態SQL語句,並返回它所生成結果的對象) Statement接口常用的方法 execute(String sql);執行靜態的SELECT語句,該語句可能返回多個結果集 executeQuery(String sql);執行給定的SQL語句,該語句返回單個ResultSet對象。 executeUpdate()執行給定的SQL語句,該語句可以為INSERT,UPDATE,DELETE語句。 close()釋放Statement實例占用的數據庫和JDBC資源。

(5):PreparedStatement接口繼承了Statement接口,用於執行動態的SQL語句,通過PreparedStatement實例執行的sql語句,將被預編譯並保存到PreparedStatement實例中,從而可以反復的執行該SQL語句。 PreparedStatement接口的常用方法。 execute();在此PreparedStatement對象中執行SQL語句,該語句可以是任何類型的SQL語句。 executeQuery()在此PreparedStatement對象中執行SQL查詢語句,返回結果為查詢結果集ResultSet對象。 executeUpdate()在此PreparedStatement對象中執行SQL語句,該語句必須是一個INSERT,UPDATE,DELETE語句。或者是沒有返回值的DDL語句。 close()釋放Statement實例占用的數據庫和JDBC資源。
(6):ResultSet接口類似與一個臨時表,用來暫時存放數據庫查詢操作所獲得的結果集,





下面寫幾個程序更深層次的理解一下JDBC作為連接數據庫的JAVA程序紐帶 1:首先封裝了通用的一些東西,然后通過引入調用(需要注意的是包名,類名,mysql數據庫賬號,密碼,數據庫名,數據表名,字段等等。)

封裝的通用的一些東西
核心代碼

2:數據庫的插入一般都是從前台獲取的,上面這個例子不是很好,下面舉例另一種方式。

(插入數據時使用拼接)同樣引用上面封裝的通用的一些東西!!!

核心代碼

(可以發現已經添加成功了)

3:下面使用面向對象的思想傳入數據(實現的時候和上面的一同完成操作,)

 

封裝,面向對象的思想

 

核心代碼
通用的



 1:使用Statement更新操作

核心代碼
通用代碼
封裝代碼

(已經完成更新操作,需要注意的是在執行sql語句的時候由於語句過長可以使用eclipse自帶的排版功能,完成排版)




 

1:使用Statement執行刪除操作

核心代碼
通用的
封裝

(可以看到刪除操作執行完畢。)





 1:PreparedStatement是Statement的子接口,屬於預處理操作,與直接使用Statement不同的是,PreparedStatement在操作時,是先在數據表中准備好了一條SQL語句,但是此SQL語句的具體內容暫時不設置,而是之后再進行設置。 (以后開發一般用PreparedStatement,一般不用Statement)

2:PreparedStatement插入操作

核心代碼
封裝
通用

(如圖已經完成插入操作)

3:PreparedStatement更新操作

通用
封裝
核心代碼

(有圖可見,已經完成更新操作)

4:PreparedStatement刪除操作

核心代碼
通用
封裝

(執行刪除操作完成后如圖)





 

1:ResultSet接口的使用

核心代碼
通用
封裝

2:以后開發使用的舉例

 

核心代碼

 

通用
封裝




1:處理大數據對象

大數據對象處理主要有CLOB(character large object)和BLOB(binary large object)兩種類型的字段;在CLOB中可以存儲大字符數據對象,比如長篇小說;在BLOB中可以存放二進制大數據對象,比如圖片,電影,音樂;

核心代碼
封裝
通用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM