作業:
下載"SalaryTestDBOO"Project
開啟SalaryTest.java 和 DataAccessObject.java
在SalaryTest內試著呼叫DAO 的getEmployee來print所有Employee.java裡的資料
//如果換電腦要確定有先import JDBC driver到project程式庫, 另外MySQL也已經灌好,connector J 裝好
我的答案:
無迴圈版
package com.hellopianoman.salarytestdb;
import java.sql.*;
public class SalaryTest {
public static void main(String[] args) throws Exception {
DataAccessObject dao = new DataAccessObject("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/hr?user=root");
Employee[] emps = dao.getEmployee();
System.out.println(emps[1].get員工編號() + "," + emps[1].get姓名());
}
}
迴圈版
public class SalaryTest {
public static void main(String[] args) throws Exception {
DataAccessObject dao = new DataAccessObject("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/hr?user=root");
Employee[] emps = dao.getEmployee();
for(i=0; i<emp.length; i++){
System.out.println(emps[i].get員工編號());
System.out.println(emps[i].get姓名());
}
}
}
老師答案:
package com.hellopianoman.salarytestdb;
import java.sql.*;
public class SalaryTest {
public static void main(String[] args) throws Exception {
DataAccessObject dao = new DataAccessObject("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/hr?user=root&password=");
Employee[] emp = dao.getEmployee();
//第一種寫法 直接呼叫陣列印出
for(int i=0; i<emp.length; i++)
System.out.println(emp[i].get員工編號()+","+emp[i].get姓名());
//第二種寫法 先存入變數e
for(int i=0; i<emp.length; i++) {
Employee e = emp[i];
System.out.println(e.get員工編號()+","+e.get姓名());
}
//第三種寫法 for each迴圈, 逐項將emps內容存入型態為Exployee的變數e,再印出
for(Employee e : emp)
System.out.println(e.get員工編號()+","+e.get姓名());
//第四種寫法 for each迴圈 + 動態字元
for(Employee e : emp)
System.out.printf("員工編號 : %s 姓名 : %s %n", e.get員工編號(), e.get姓名());
}