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

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

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

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

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

  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ù)庫驅(qū)動的加載
   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)足夠了。
復(fù)制代碼 代碼如下:

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ù)。
復(fù)制代碼 代碼如下:

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、處理結(jié)果:
復(fù)制代碼 代碼如下:

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");

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

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

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ù)庫關(guān)閉");

 }

相關(guān)文章

  • SQL中current_date()函數(shù)的實現(xiàn)

    SQL中current_date()函數(shù)的實現(xiàn)

    日期時間類型的數(shù)據(jù)也是經(jīng)常要用到的,SQL中也提供了一些函數(shù)對這些數(shù)據(jù)進行處理,本文主要介紹了SQL中current_date()函數(shù)的實現(xiàn),具有一定的參考價值
    2024-02-02
  • MySql COALESCE函數(shù)使用方法代碼案例

    MySql COALESCE函數(shù)使用方法代碼案例

    這篇文章主要介紹了MySql COALESCE函數(shù)使用方法代碼案例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • MySQL存儲引擎MyISAM與InnoDB的9點區(qū)別

    MySQL存儲引擎MyISAM與InnoDB的9點區(qū)別

    這篇文章主要介紹了MySQL存儲引擎MyISAM與InnoDB的9點區(qū)別,寫給有選擇困難癥的同學(xué),需要的朋友可以參考下
    2014-08-08
  • MySQL中聚合函數(shù)count的使用和性能優(yōu)化技巧

    MySQL中聚合函數(shù)count的使用和性能優(yōu)化技巧

    這篇文章主要介紹了Windows 10,MySQL版本是5.7.12-log環(huán)境下mysql中聚合函數(shù)count的使用和性能優(yōu)化,需要的朋友可以參考下
    2018-06-06
  • MySQL對數(shù)據(jù)表已有表進行分區(qū)表的實現(xiàn)

    MySQL對數(shù)據(jù)表已有表進行分區(qū)表的實現(xiàn)

    本文主要介紹對現(xiàn)有的一個表進行創(chuàng)建分區(qū)表,并把數(shù)據(jù)遷移到新表,可以按時間來分區(qū),具有一定的參考價值,感興趣的可以了解一下
    2021-10-10
  • MySQL主從切換的超詳細步驟

    MySQL主從切換的超詳細步驟

    一般來說在客戶的生產(chǎn)環(huán)境,每隔一段實踐就需要進行MySQL數(shù)據(jù)庫的功能演練,主從切換,數(shù)據(jù)同步,數(shù)據(jù)備份等,下面這篇文章主要給大家介紹了關(guān)于MySQL主從切換的超詳細步驟,需要的朋友可以參考下
    2022-06-06
  • Mysql中的NULL和Empty String

    Mysql中的NULL和Empty String

    這篇文章主要介紹了Mysql中的NULL和Empty String知識,需要的朋友可以參考下
    2017-12-12
  • win10下完全卸載+重裝MySQL步驟詳解

    win10下完全卸載+重裝MySQL步驟詳解

    小編是因為連接MySQL和Qt時出現(xiàn)問題,迫不得已選擇把64bitMySQL換成了32bitMySQL,在安裝過程中出現(xiàn)各種問題,下面小編把 win10下完全卸載+重裝MySQL步驟分享到腳本之家平臺,需要的朋友參考下
    2017-12-12
  • Mysql命令大全(詳細篇)

    Mysql命令大全(詳細篇)

    這篇文章主要介紹了Mysql命令大全,這里整理的算是比較詳細的,需要的朋友可以參考下
    2015-11-11
  • 一文學(xué)習(xí)MySQL?意向共享鎖、意向排他鎖、死鎖

    一文學(xué)習(xí)MySQL?意向共享鎖、意向排他鎖、死鎖

    這篇文章主要介紹了MySQL?意向共享鎖、意向排他鎖、死鎖,包括InnoDB表級鎖,意向共享鎖和意向排他鎖及操作方法,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-03-03

最新評論

双辽市| 宜川县| 黑水县| 明星| 芜湖县| 双城市| 兴城市| 南宫市| 丰顺县| 体育| 阿勒泰市| 泰和县| 孟连| 精河县| 红安县| 竹山县| 尚志市| 金寨县| 桓仁| 江永县| 西乌珠穆沁旗| 阆中市| 民勤县| 伊宁市| 武平县| 龙山县| 甘洛县| 荔浦县| 祁阳县| 进贤县| 巴林右旗| 彭阳县| 广饶县| 霍州市| 皮山县| 绥阳县| 桐城市| 山东| 迭部县| 响水县| 板桥市|