《MYSQL數據庫jdbc操作數據庫的基本流程詳解》要點:
本文介紹了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 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("數據庫封閉");
?}
《MYSQL數據庫jdbc操作數據庫的基本流程詳解》是否對您有啟發,歡迎查看更多與《MYSQL數據庫jdbc操作數據庫的基本流程詳解》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9827.html