1. 程式人生 > >java基礎鞏固---jdbc介面PreparedStatement執行sql語句

java基礎鞏固---jdbc介面PreparedStatement執行sql語句

PreparedStatement執行sql語句

public class Demo1 {

    /**

     * 增加

     */

    @Test

    public void testInsert() {

       Connection conn = null;

       PreparedStatement stmt = null;

       try {

           //1.獲取連線

           conn = JdbcUtil.getConnection();

           //2.準備預編譯的sql

           String sql = "INSERT INTO student(NAME,gender) VALUES(?,?)"

; //?表示一個引數的佔位符

           //3.執行預編譯sql語句(檢查語法)

           stmt = conn.prepareStatement(sql);

           //4.設定引數值

           /**

            * 引數一:引數位置1開始

            */

           stmt.setString(1, "李四");

           stmt.setString(2, "");

           //5.傳送引數,執行sql

           int count = stmt.executeUpdate();

           System.out.println("影響了"+count+"");

       } catch (Exception e) {

           e.printStackTrace();

           throw new RuntimeException(e);

       } finally {

           JdbcUtil.close(conn, stmt);

       }

    }

    /**

     * 修改

     */

    @Test

    public void testUpdate() {

       Connection conn = null

;

       PreparedStatement stmt = null;

       try {

           //1.獲取連線

           conn = JdbcUtil.getConnection();

           //2.準備預編譯的sql

           String sql = "UPDATE student SET NAME=? WHERE id=?"; //?表示一個引數的佔位符

           //3.執行預編譯sql語句(檢查語法)

           stmt = conn.prepareStatement(sql);

           //4.設定引數值

           /**

            * 引數一:引數位置1開始

            */

           stmt.setString(1, "王五");

           stmt.setInt(2, 9);

           //5.傳送引數,執行sql

           int count = stmt.executeUpdate();

           System.out.println("影響了"+count+"");

       } catch (Exception e) {

           e.printStackTrace();

           throw new RuntimeException(e);

       } finally {

           JdbcUtil.close(conn, stmt);

       }

    }

    /**

     * 刪除

     */

    @Test

    public void testDelete() {

       Connection conn = null;

       PreparedStatement stmt = null;

       try {

           //1.獲取連線

           conn = JdbcUtil.getConnection();

           //2.準備預編譯的sql

           String sql = "DELETE FROM student WHERE id=?"; //?表示一個引數的佔位符

           //3.執行預編譯sql語句(檢查語法)

           stmt = conn.prepareStatement(sql);

           //4.設定引數值

           /**

            * 引數一:引數位置1開始

            */

           stmt.setInt(1, 9);

           //5.傳送引數,執行sql

           int count = stmt.executeUpdate();

           System.out.println("影響了"+count+"");

       } catch (Exception e) {

           e.printStackTrace();

           throw new RuntimeException(e);

       } finally {

           JdbcUtil.close(conn, stmt);

       }

    }

    /**

     * 查詢

     */

    @Test

    public void testQuery() {

       Connection conn = null;

       PreparedStatement stmt = null;

       ResultSet rs = null;

       try {

           //1.獲取連線

           conn = JdbcUtil.getConnection();

           //2.準備預編譯的sql

           String sql = "SELECT * FROM student";

           //3.預編譯

           stmt = conn.prepareStatement(sql);

           //4.執行sql

           rs = stmt.executeQuery();

           //5.遍歷rs

           while(rs.next()){

              int id = rs.getInt("id");

              String name = rs.getString("name");

              String gender = rs.getString("gender");

              System.out.println(id+","+name+","+gender);

           }

       } catch (Exception e) {

           e.printStackTrace();

           throw new RuntimeException(e);

       } finally {

           //關閉資源

           JdbcUtil.close(conn,stmt,rs);

       }

    }

}

相關推薦

java基礎鞏固---jdbc介面PreparedStatement執行sql語句

PreparedStatement執行sql語句 public class Demo1 {     /**      * 增加      */     @Test     public vo

Oracle基礎:6:通過sqlplus執行sql語句後的結果判斷

這篇文章介紹一下如何對sqlplus執行的sql語句結果進行判斷。 環境準備 使用Oracle的精簡版建立docker方式的demo環境,詳細可參看: https://blog.csdn.net/liumiaocn/article/details/82733272

PreparedStatement執行sql語句

run student urn stack 風險 tst new etc insert import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.Prepare

JDBC PreparedStatement高階特性:批量執行sql語句

案例: 工具方法: public static Connection getConnection(){ try { Class.forName("com.

JDBC程式設計學習筆記(二)——執行SQL語句 ExecuteSQL.java

本文主要介紹使用Statement的execute()方法來執行任意的SQL語句,並列出你在執行該程式中可能會遇到的一系列問題,我只能將我在執行中遇到的問題描述,希望對你有所幫助。首先,你需要建立一個配置資料庫的配置檔案,如下圖: 檔案的內容如下圖: 內容主要是MySQ

Java基礎鞏固——反射

使用實例 -a private tty hiberna pojo 操作 ams sts 什麽是反射   反射機制就是指程序運行時能夠獲取自身的信息。在Java中,只要給出類的名字,就可以通過反射機制來獲取類的信息 哪裏用的到反射機制   在jdbc中就是使用的反射來

java基礎JDBC一:概述及步驟詳解

etx fileread 操作 [] 全路徑 api mysql edi lean 1. JDBC的簡介 概述: 就是Java用來操作不同數據庫(DBMS)的類庫(技術), 本質就是一些類和接口. /* 類: Dri

java基礎JDBC三:簡單工具類的提取及應用

註冊 args 釋放資源 file void tex 用戶名 SQ lose 簡單工具類: public class JDBCSimpleUtils { /** * 私有構造方法 */ private JDBCSimpleU

java基礎JDBC九:DbUtils的簡介及使用

AI static 對象 str 數據存儲 之前 java基礎 nbsp 行數 DbUtils是Apache組織提供的一個對JDBC進行簡單封裝的開源工具類庫,使用它能夠簡化JDBC應用程序的開發,同時也不會影響程序的性能。 使用步驟: A: 獲取可以執行SQL語句

Java 基礎:繼承中的執行順序

類的方法 主程 rgs 這一 over print 類繼承 方法 www. 1.單獨的父類測試 Java中,new一個類的對象,類裏面的靜態代碼塊、非靜態代碼、無參構造方法、有參構造方法、類的一般方法等部分, 它們的執行順序相對來說比較簡單,用程序也很容易驗證。 比如

java基礎 · 例項(介面抽象類多型的結合)

package v1; interface Animal{ void shout(); //介面中只宣告方法 void breatch(); void name(); } abstract class abstractclaaa implements

使用Mysql執行SQL語句基礎操作

SQL:  又叫結構化語言,是一種用來操作RDBMS的資料庫語言,在關係型資料庫中都支援使用SQL語句,如oracle、mysql等等。   注意: 在關係型資料庫中sql語句是通用的,而在非關係型資料庫中是不支援sql語句的,每種非關係型資料庫都有自己的查詢語言,是不通用的。   注意: sq

執行sql語句為什麽?用PreparedStatement要比Statement好用

運行 可維護性 一個 nbsp 連接池 conn 應用 body stat PreparedStatement public interface PreparedStatement extends Statement;可以看到PreparedStatement是Statem

java基礎-抽象類/介面

抽象類:包含抽象方法的類叫抽象類。抽象方法由 abstract修飾。有抽象方法的類也必須由abstract修飾。 抽象方法:在抽象類內部不給予實現。當有一個類,繼承了當前的抽象方法後需要實現。抽象方法不能被private修飾(修飾意味著不能被別的類繼承,而抽象方法又必須被繼

【紮實基本功】Java基礎教程系列之多執行

1. 多執行緒的概念 1.1 程序、執行緒、多程序的概念 程序:正在進行中的程式(直譯)。 執行緒是程式執行的一條路徑, 一個程序中可以包含多條執行緒。 一個應用程式可以理解成就是一個程序。 多執行緒併發執行可以提高程式的效率, 可以同時完成多項工作。 1.

回頭探索JDBCPreparedStatementSQL注入原理

概述 JDBC在我們學習J2EE的時候已經接觸到了,但是僅是照搬步驟書寫,其中的PreparedStatement防sql注入原理也是一知半解,然後就想回頭查資料及敲測試程式碼探索一下。再有就是我們在專案中有一些配置項是有時候要變動的,比如資料庫的資料來源,為了在修改配置時不改動編譯的程式碼,我們把要變動的

Java基礎鞏固——網路程式設計基礎 URL

此教程總結是根據JDK 8編寫的 什麼是URL? URL是統一資源定位器的首字母縮寫。它是Internet上資源的引用(地址) URL有兩個主要元件: 協議識別符號:對於URL http://example.com,協議識別符號為http。 資源名

Java基礎鞏固——網路基礎知識

網路基礎知識 執行在Internet上的計算機使用傳輸控制協議(TCP)或使用者資料報協議(UDP)相互通訊,如下圖所示: TCP 定義 TCP(傳輸控制協議)是一種基於連線的協議,可在兩臺計算機之間提供可靠的資料流。 當兩個應用程式想要相互通訊時,它們建立連線並通過該連線

Java基礎鞏固(六)-類

繼承 關鍵字extent,implement java 不支援 多繼承 但支援多重繼承 特性 子類擁有父類非private的屬性,方法。 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴充套件。 子類可以用自己的

Java基礎鞏固(五)-異常

Java異常處理 定義 異常是程式中的一些錯誤,但並不是所有的錯誤都是異常,並且錯誤有時候是可以避免的。 異常原因分析 使用者輸入了非法數 要開啟的檔案不存在 網路通訊時連線中斷,或者JVM記憶體溢位 異常型別 檢查性異常 最具代