J2EE Part 19

1.Java 2 第24章 -- JDBC
a.修改 CLASSPATH,加一筆路徑
;%JAVA_HOME%\db\lib\derby.jar;
b.編譯並執行程式
程式碼:
Samplea.java
import java.sql.*;
public class Sample1
{
   public static void main(String args[])
   {
      try{
         // 準備連線
         String url = "jdbc:derby:cardb;create=true";
         String usr = "";
         String pw = "";

         // 連接到資料庫
         Connection cn = DriverManager.getConnection(url, usr, pw);

         // 準備查詢
         DatabaseMetaData dm = cn.getMetaData();
         ResultSet tb = dm.getTables(null, null, "車子資料表", null);

         Statement st = cn.createStatement();

         String qry1 = "CREATE TABLE 車子資料表(編號 int, 名稱 varchar(50))";
         String[] qry2 = {"INSERT INTO 車子資料表 VALUES (2, '汽車')",
                          "INSERT INTO 車子資料表 VALUES (3, '戰車')",
                          "INSERT INTO 車子資料表 VALUES (4, '卡車')"};
         String qry3 = "SELECT * FROM 車子資料表";

         if(!tb.next()){
            st.executeUpdate(qry1);
            for(int i=0; i<qry2.length; i++){
               st.executeUpdate(qry2[i]);
            }
         }

         // 進行查詢
         ResultSet rs = st.executeQuery(qry3);

         // 取得資料
         ResultSetMetaData rm = rs.getMetaData();
         int cnum = rm.getColumnCount();
         while(rs.next()){
            for(int i=1; i<=cnum; i++){
                System.out.print(rm.getColumnName(i) +  ":"+ rs.getObject(i) + "  ");
            }
            System.out.println("");
         }

         // 關閉連線
         rs.close();
         st.close();
         cn.close();
      }
      catch(Exception e){
         e.printStackTrace();
      }
   }
}

run.bat
javac Sample1.java
java Sample
pause

結果:

PS:JAVA 與 資料庫連線
一般分為 
1.非微軟相關資料來源:My SQL、等等。
用法:JDBC 即可
例如:

    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost:3306/company?user=root&password=apple&charset=utf8";
    Connection con = DriverManager.getConnection(url);
    Statement stmt = con.createStatement();
    String strSQL = "SELECT * FROM employee where e_name = '" + act + "'";
    ResultSet rs = stmt.executeQuery(strSQL);


2.與微軟相關之資料來源:文字檔、Excel、Access、MS SQL 等。
用法:必須使用 JDBC -- ODBC
例如:
     // 1. 載入JDBC/ODBC驅動程式

     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     // 2. 傳回資料庫連線物件 (這裡的 bookbase 是 ODBC 之資料來源的名稱)
     Connection con = DriverManager.getConnection("jdbc:odbc:bookbase");
     // 3. 建立 statment 物件
     Statement stmt = con.createStatement();
     // 4. 執行 SQL 指令
     ResultSet rs=stmt.executeQuery("select * from bookTab");



2.Java 2 第26章 -- XML
a. XML 主要最為資料傳輸與轉換用,例如:由 A 系統 (或是 A 公司)取出資料,轉成 A、B
雙方共同制定的 XML 格式,再由 B 系統 (或是 B 公司) 接收 XML檔案後,轉成所要的資料格式,匯入 B 系統 (或是 B 公司) 。
b. 利用 DOM、XSL、XSLT等不同的工具檔案,可將XML、資料庫的資料等轉換出來,並加入所需要的條件來篩選。所得出所要的簡潔資料。而不會只是將資料 Copy。

No comments: