国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - jdbc操作數據庫的基本流程詳解

jdbc操作數據庫的基本流程詳解

2019-12-29 16:40MYSQL教程網 Mysql

本篇文章是對jdbc操作數據庫的基本流程進行了詳細的分析介紹,需要的朋友參考下

所有的JDBC應用程序都具有下面的基本流程:
  1、加載數據庫驅動并建立到數據庫的連接。
  2、執行SQL語句。
  3、處理結果。
  4、從數據庫斷開連接釋放資源。


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

1、加載數據庫驅動并建立到數據庫的連接:

復制代碼代碼如下:


  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);//這里是所謂的數據庫驅動的加載
   connection=(Connection) DriverManager.getConnection(connectiionString);//這里就是建立數據庫連接
   System.out.println("數據庫連接成功");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return connection;


2、執行SQL語句:
在執行sql語句的時候,這里常見的有兩種類型的語句對象:
Statement:它提供了直接在數據庫中執行SQL語句的方法。對于那些只執行一次的查詢、刪除或者一種固定的sql語句來說已經足夠了。

復制代碼代碼如下:


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

   String sql="delete from diary where /> Preparedstatement:這種語句對象用于那些需要執行多次,每次僅僅是數據取值不同的SQL語句,它還提供了一些方法,以便指出語句所使用的輸入參數。

復制代碼代碼如下:


String sql="insert into diary(title,content,authorname,time) values(?,?,?,now())";
  try {
   PreparedStatement preparedStatement=(PreparedStatement) dUtil.getConnection().prepareStatement(sql);
   String /> 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執行sql語句的方法:insert、Update、delete語句是使用了Statement的executeUpdate方法執行的,返回結果是插入、更新、刪除的個數。而select語句執行較為特別是使用了Statement的executeQuery方法執行的。返回的結果存放在resultset結果集中,我們可以調用next()方法來移到結果集中的下一條記錄。結果集由行和列組成,各列數據可以通過相應數據庫類型的一系列get方法(如getString,getInt,getDate等等)來取得。

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

復制代碼代碼如下:


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("數據庫關閉");

 }

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一本大道久久a久久精二百 在线a人片免费观看视频 | 欧美视频精品 | 成人午夜免费视频 | 精品久久久久久久久久久久 | 色乱码一区二区三区网站 | 色香阁99久久精品久久久 | 任你躁久久久久久妇女av | 欧美精品影院 | 久久一 | 一区二区日韩 | 亚洲免费视频网 | 国产精品视频免费看 | 国产视频www | 四虎视频 | 久久伊人官网 | 日本久久精品视频 | 在线观看不卡 | 成人国产免费视频 | 偷自在线| 亚洲日本va中文字幕 | 国产99一区二区 | 亚洲精品视频观看 | 黄色片免费看 | 亚洲三级网站 | a级毛片黄 | 国产精品一区二区不卡 | 国产精品三级视频 | 久久久久久中文字幕 | 亚洲精品欧美 | 黄瓜av在线| www.av在线播放| 亚洲国产成人一区二区精品区 | 欧美精品成人一区二区三区四区 | 精品二区| 欧洲一级毛片 | 自拍在线 | 在线视频国产一区 | 日韩欧美一级精品久久 | 国产一区二区视频在线观看 | 毛片a级 | 国产精品美女久久久久久久网站 |