java串連mysql資料庫:
因為之前一直使用的是XAMPP這個環境工具,後來又下載了一個WAMP想來學習使用PHP。
這兩個當中都整合了MYSQL資料庫,直接點擊start MYSQL就可以了,非常的簡單方便,它們的可視化介面也是相同的。
以XAMPP為例,點擊start MYSQL之後,
點擊MYSQL那行的Admin,就可以開啟http://localhost/phpmyadmin/查看資料庫(如果無法開啟,請再開啟Apache後再嘗試)。
可以點擊右邊的Shell調出終端,輸入mysql後斷行符號,就可以使用語句操作資料庫,當然也可以在上面的可視化介面裡操作。
開啟eclipse,java想要和mysql串連,需要一個jar包,http://dev.mysql.com/downloads/connector/j/可以下載到最新版。
下載之後,解壓縮,把${your_PATH}/mysql-connector-java-5.1.24/mysql-connector-java-5.1.24-bin.jar 添加到環境變數當中。再把這個jar包匯入到java項目的library當中。
建立資料庫mytest,在其中建表student,表結構如下:
java代碼如下:
import java.sql.*; public class JDBCTest { public static void main(String[] args) { // 1. 註冊驅動 try { Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException ex) { ex.printStackTrace(); } // 聲明變數,使用,而後關閉 Connection conn = null; //資料庫連接 Statement stmt = null; //資料庫運算式 ResultSet rs = null; //結果集 try { //2. 擷取資料庫的串連 conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/mytest","root",""); //3. 擷取運算式 stmt = conn.createStatement(); // 插入資料 stmt.executeUpdate("insert into Student (username, password, age) values ('TED','1235',25)"); //4. 執行SQL rs = stmt.executeQuery("select * from Student"); //5. 現實結果集裡面的資料 while(rs.next()) { System.out.println("編號=" + rs.getInt(1)); System.out.println("姓名=" + rs.getString("username")); System.out.println("密碼=" + rs.getString("password")); System.out.println("年齡=" + rs.getString("age")); System.out.println("---------------"); } } catch (Exception ex) { ex.printStackTrace(); } finally { try { if(rs != null) { rs.close(); } if(stmt != null) { stmt.close(); } if(conn != null) { conn.close(); } } catch(Exception ex) { ex.printStackTrace(); } } } }
================================================================================================================
java讀取excel表格:
本來應該是很複雜的過程,不過這世上有個東西叫開源類庫嘛~對excel的操作就變得很簡單了。
下載jxl.jar,匯入到項目中。
在E盤下建立dataAnalysis檔案夾,檔案夾下建立text.xls,注意是xls不是xlsx,這個類庫貌似只能支援舊版的excel,新版的問題如何解決尚在研究中。
java代碼如下:
import java.io.File; import java.io.IOException; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class excelTest {public void write() throws Exception{WritableWorkbook wwb = null; // 建立可寫入的Excel活頁簿 String fileName = "E:"+File.separator+"dataAnalysis"+File.separator+"test.xls"; //以fileName為檔案名稱來建立一個Workbook wwb = Workbook.createWorkbook(new File(fileName)); // 建立工作表 WritableSheet ws = wwb.createSheet("Test Shee 1", 0); //要插入到的Excel表格的行號,預設從0開始 int row; //要插入到的Excel表格的列號,預設從0開始 Label labelC = new Label(3, 5, "qq"); Label lableD = new Label(5, 3, "dd"); ws.addCell(labelC); ws.addCell(lableD); //寫進文檔 wwb.write(); // 關閉Excel活頁簿對象 wwb.close();}public static void main(String args[]) throws Exception{ File f=new File("E:"+File.separator+"dataAnalysis"+File.separator+"test.xls"); //這是我自己建的,位於E:\dataAnalysis檔案夾中的test.xls excelTest et = new excelTest(); et.write(); try { Workbook book=Workbook.getWorkbook(f);// Sheet sheet=book.getSheet(0); //獲得第一個工作表對象 for(int i=0;i<sheet.getRows();i++){ for(int j=0;j<sheet.getColumns();j++){ Cell cell=sheet.getCell(j, i); //獲得儲存格 System.out.print(cell.getContents()+" "); } System.out.print("\n"); } } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }}}