1. 程式人生 > >dljd_004_jdbc程式設計步驟(1)

dljd_004_jdbc程式設計步驟(1)

一、建庫及表語句(簡單測試用)

drop database db_test;
create database db_test;
use db_test;
create table user(
    userId int(5) primary key comment '使用者id',
    userName varchar(16) comment '使用者姓名',
    userPw varchar(16) comment '使用者密碼'
);
insert into user(userId,userName,userPw) values(10001,'user1','user1
'); insert into user(userId,userName,userPw) values(10002,'user2','user2'); insert into user(userId,userName,userPw) values(10003,'user3','user3'); insert into user(userId,userName,userPw) values(10004,'user4','user4'); insert into user(userId,userName,userPw) values(10005,'user5','user5');

  這裡我將sql語句儲存到了一個.sql的檔案中、直接在命令列通過命令匯入、命令如下:

    source 碟符:\sql檔名.sql

    

二、jdbc連線mysql資料庫示例程式碼  

package edu.aeon.jdbc;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * [說明]:使用jdbc連線mysql資料庫
 * @author aeon
 * 連線mysql資料庫的步驟:
 *     一、準備工作
 *         1.1新建一個java專案
 *         1.2在該專案下新建一個lib(外部類庫)資料夾(new->folder)
 *         1.3將我們的mysql驅動放到lib資料夾下
 *         1.4將mysql驅動(即這個jar檔案)新增(右鍵->build path->add to build path)到eclipse的構建路徑裡(作用同我們的環境變數)
 *             這樣的話eclipse可以識別mysql驅動中的位元組碼檔案。
 *         1.5建包和類
 *     二、正式步驟
 *         2.1載入/註冊驅動驅動(目的是讓jvm可以使用驅動類)
 *         2.2獲取和資料庫伺服器的連線(java程式是客戶端    mysql是個伺服器)
 *             2.2.1指定要連線到mysql伺服器的相關資訊(使用者名稱&&密碼&&url+埠+資料庫名)
 *         2.3連線伺服器
 *         2.4通過連線物件獲取執行sql語句的物件
 *         2.5通過獲取到的sql語句物件來執行sql
 *         2.6遍歷輸出結果
 *         2.7關閉流    遵循原則後開啟的先關閉
 
*/ public class TestJdbc { public static void main(String[] args) { Connection connection=null; Statement statement=null; ResultSet resultSet=null; try { //2.1載入/註冊驅動 //driver是jdbc宣告的標準介面、com.mysql.jdbc.Driver是mysql資料庫廠商根據這個標準做的實現、注意這兩個Driver是有區別的。 Driver driver=new com.mysql.jdbc.Driver(); //介面宣告引用指向實現類的物件 DriverManager.registerDriver(driver); //2.2獲取和資料庫伺服器的連線(java程式是客戶端 mysql是個伺服器) String username="root"; //使用者名稱 String password="root"; //密碼 //url中的jdbc:mysql說明:jdbc是由sun公司制定的一套網路協議 jdbc:mysql是指jdbc協議下的mysql子協議。 String url="jdbc:mysql://localhost:3306/db_test"; //2.3連線伺服器 Connection是jdbc規範中宣告的介面 connection=DriverManager.getConnection(url, username, password); //2.4通過連線物件獲取執行sql語句的物件 statement=connection.createStatement(); String sql="select * from user"; //2.5通過獲取到的sql語句物件來執行sql resultSet=statement.executeQuery(sql);//executeQuery對應的去執行DQL語句 //2.6遍歷輸出結果 System.out.println("使用者id\t使用者名稱\t使用者密碼"); while(resultSet.next()){//初始時指向表前面、和遊標相似 .next()方法表示移動到下一條記錄並判斷有沒有資料。如果有則結果為true。否則false //resultSet.getString(1);//根據記錄下標來獲取該下標所對應的欄位值、不推薦 int userId=resultSet.getInt("userId");//根據表字段名獲取該行記錄上的欄位名所對應的欄位值 String userName=resultSet.getString("userName"); String userPw=resultSet.getString("userpw");//資料庫中的欄位不區分大小寫 System.out.println(userId+"\t"+userName+"\t"+userPw); } } catch (SQLException e) { e.printStackTrace(); }finally{ //關閉流 遵循原則後開啟的先關閉 if(null!=resultSet){ try { resultSet.close(); } catch (SQLException e) { System.out.println("關閉流失敗!--->resultSet"); e.printStackTrace(); } } if(null!=statement){ try { statement.close(); } catch (SQLException e) { System.out.println("關閉流失敗!--->statement"); e.printStackTrace(); } } if(null!=connection){ try { connection.close(); } catch (SQLException e) { System.out.println("關閉流失敗!--->connection"); e.printStackTrace(); } } } } }

執行結果截圖: