程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> jdbc操作數據庫的根本流程詳解

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

編輯:MySQL綜合教程

jdbc操作數據庫的根本流程詳解。本站提示廣大學習愛好者:(jdbc操作數據庫的根本流程詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是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 title="+"'"+title+"'";

   int count=statement.executeUpdate(sql);

   System.out.println("刪除勝利");

Preparedstatement:這類語句對象用於那些須要履行屢次,每次僅僅是數據取值分歧的SQL語句,它還供給了一些辦法,以便指出語句所應用的輸出參數。

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

 }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved