亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jdbc操作數(shù)據(jù)庫的基本流程詳解

 更新時間:2013年06月14日 09:49:31   作者:  
本篇文章是對jdbc操作數(shù)據(jù)庫的基本流程進行了詳細的分析介紹,需要的朋友參考下
所有的JDBC應用程序都具有下面的基本流程:
  1、加載數(shù)據(jù)庫驅動并建立到數(shù)據(jù)庫的連接。
  2、執(zhí)行SQL語句。
  3、處理結果。
  4、從數(shù)據(jù)庫斷開連接釋放資源。

下面我們就來仔細看一看每一個步驟:
其實按照上面所說每個階段都可得單獨拿出來寫成一個獨立的類方法文件。共別的應用來調用。

1、加載數(shù)據(jù)庫驅動并建立到數(shù)據(jù)庫的連接:
復制代碼 代碼如下:

  String driverName="com.mysql.jdbc.Driver";
  String connectiionString="jdbc:mysql://10.5.110.239:3306/test?"+"user=root&password=chen&characterEncoding=utf-8";
  Connection connection=null;
  try {
   Class.forName(driverName);//這里是所謂的數(shù)據(jù)庫驅動的加載
   connection=(Connection) DriverManager.getConnection(connectiionString);//這里就是建立數(shù)據(jù)庫連接
   System.out.println("數(shù)據(jù)庫連接成功");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return connection;

2、執(zhí)行SQL語句:
在執(zhí)行sql語句的時候,這里常見的有兩種類型的語句對象:
Statement:它提供了直接在數(shù)據(jù)庫中執(zhí)行SQL語句的方法。對于那些只執(zhí)行一次的查詢、刪除或者一種固定的sql語句來說已經(jīng)足夠了。
復制代碼 代碼如下:

Statement statement=(Statement) dUtil.getConnection().createStatement();

   String sql="delete from diary where title="+"'"+title+"'";

   int count=statement.executeUpdate(sql);

   System.out.println("刪除成功");

Preparedstatement:這種語句對象用于那些需要執(zhí)行多次,每次僅僅是數(shù)據(jù)取值不同的SQL語句,它還提供了一些方法,以便指出語句所使用的輸入?yún)?shù)。
復制代碼 代碼如下:

String sql="insert into diary(title,content,authorname,time) values(?,?,?,now())";
  try {
   PreparedStatement preparedStatement=(PreparedStatement) dUtil.getConnection().prepareStatement(sql);
   String title=diary.getTitle();
   String content=diary.getContent();
   String authorname=diary.getAuthorName();
   preparedStatement.setString(1, title);
   preparedStatement.setString(2, content);
   preparedStatement.setString(3, authorname);

3、處理結果:
復制代碼 代碼如下:

ResultSet resultSet=statement.executeQuery(sql);
   while (resultSet.next()) {
    Diary diary=new Diary();
    diary.setAuthorName(resultSet.getString("authorname"));
    diary.setContent(resultSet.getString("content"));
    diary.setTitle(resultSet.getString("title"));
    diary.setId(resultSet.getInt("id"));
    Date time=resultSet.getDate("time");

此處,應該知道的是:Statement執(zhí)行sql語句的方法:insert、Update、delete語句是使用了Statement的executeUpdate方法執(zhí)行的,返回結果是插入、更新、刪除的個數(shù)。而select語句執(zhí)行較為特別是使用了Statement的executeQuery方法執(zhí)行的。返回的結果存放在resultset結果集中,我們可以調用next()方法來移到結果集中的下一條記錄。結果集由行和列組成,各列數(shù)據(jù)可以通過相應數(shù)據(jù)庫類型的一系列get方法(如getString,getInt,getDate等等)來取得。

4、從數(shù)據(jù)庫斷開連接釋放資源:
在結果集、語句和連接對象用完以后,我們必須正確地關閉它們。連接對象、結果集對象以及所有的語句對象都有close()方法,通過調用這個方法,我們可以確保正確釋放與特定數(shù)據(jù)庫系統(tǒng)相關的所有資源。
復制代碼 代碼如下:

public static void closeConnection(ResultSet resultSet,PreparedStatement preparedStatement, Connection connection) throws SQLException {

  if (resultSet!=null) resultSet.close();
  if (preparedStatement!=null) preparedStatement.close();
  if(connection!=null&&connection.isClosed()==false) connection.close();
  System.out.println("數(shù)據(jù)庫關閉");

 }

相關文章

  • MySQL用戶權限設置保護數(shù)據(jù)庫安全

    MySQL用戶權限設置保護數(shù)據(jù)庫安全

    MySQL用戶權限設置是保護數(shù)據(jù)庫安全的重要措施之一。通過為用戶設置不同的權限,可以控制用戶對數(shù)據(jù)庫的訪問能力,包括讀取、修改、刪除、創(chuàng)建等操作。合理設置用戶權限可以避免誤操作、非法訪問等安全問題
    2023-05-05
  • Linux下安裝mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

    Linux下安裝mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

    這篇文章主要介紹了Linux下安裝mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • mysql二進制日志文件恢復數(shù)據(jù)庫

    mysql二進制日志文件恢復數(shù)據(jù)庫

    喜歡的在服務器或者數(shù)據(jù)庫上直接操作的兄弟們你值得收藏下!不然你就悲劇了。-----(當然我也是在網(wǎng)上搜索的資料!不過自己測試通過了的!)
    2014-08-08
  • 深入了解SQL注入

    深入了解SQL注入

    本篇文章通過SQL和MYSQL的對比,以及SQL注入的原理等方面詳細分析了SQL注入相關知識點,對此有興趣的朋友學習下。
    2018-02-02
  • MySQL無法存儲emoji表情解決方案分析

    MySQL無法存儲emoji表情解決方案分析

    這篇文章主要介紹了MySQL無法存儲emoji表情解決方案,結合實例形式分析了Python爬蟲爬取文章中emoji表情存入數(shù)據(jù)庫的實現(xiàn)方法,涉及mysql utf8mb4編碼的修改相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • MySQL索引下推詳細

    MySQL索引下推詳細

    這篇文章主要介紹MySQL索引下推,索引下推(ICP)是針對MySQL使用索引從表中檢索數(shù)據(jù)行的情況的優(yōu)化。下面就來介紹相關資料,需要的朋友可以參考一下
    2021-10-10
  • mysql中的四大運算符種類實例匯總(20多項)?

    mysql中的四大運算符種類實例匯總(20多項)?

    這篇文章主要介紹了mysql中的四大運算符種類匯總,運算符連接表達式中的各個操作數(shù),他的作用是用來指明對數(shù)據(jù)表中的操作數(shù)所進行的運算
    2022-07-07
  • mysql臨時表(temporary?table)使用方法詳解

    mysql臨時表(temporary?table)使用方法詳解

    MySQL臨時表在很多場景中都會用到,MySQL內部在執(zhí)行復雜SQL時,需要借助臨時表進行分組、排序、去重等操作,下面這篇文章主要給大家介紹了關于mysql臨時表(temporary?table)使用方法的相關資料,需要的朋友可以參考下
    2024-01-01
  • MySQL中的引號和反引號的區(qū)別與用法詳解

    MySQL中的引號和反引號的區(qū)別與用法詳解

    這個問題是我在學習數(shù)據(jù)庫的時候遇到的一個問題,我當時并不能理解下圖中的一些情況,后來我也請教了一位大佬給我解答,最后在大佬和度娘的幫助下我大概理解了這個反引號的東西
    2021-10-10
  • MySQL中where?1=1方法的使用及改進

    MySQL中where?1=1方法的使用及改進

    這篇文章主要介紹了MySQL中where?1=1方法的使用及改進,文章主要通對where?1?=?1的使用及改進展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05

最新評論