Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. package practice4;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.SQLException;
  7. import java.util.Date;
  8. import practice3.Employee;
  9.  
  10. public class EmployeeDAOJDBC implements EmployeeDAO {
  11.  
  12. private String url = "jdbc:derby://localhost:1527/EmployeeDB";
  13. private String user = "test";
  14. private String pass = "tiger";
  15. private Connection con;
  16. // 建構子
  17. public EmployeeDAOJDBC() throws EmployeeDAOException {
  18. try {
  19. // 員工系統需要長時間執行,需要持續連線,所以目前沒處理 close()
  20. con = DriverManager.getConnection(url, user, pass);
  21. } catch (SQLException ex) {
  22. // 拋出例外,並將原本 SQLException 包裹在其中 (說明是 SQLException 導致的)
  23. throw new EmployeeDAOException("EmployeeDAO 物件建構失敗", ex);
  24. }
  25. }
  26.  
  27. @Override
  28. public void insert(Employee e) throws EmployeeDAOException {
  29. String query = "insert into employee values(?,?,?,?,?)"; // 使用問號代表參數,之後設定
  30. int count = 0; // 有幾筆資料完成新增
  31. try {
  32.  
  33. PreparedStatement pstmt = con.prepareStatement(query); // PreparedStatement
  34. // 設定各項 ? 參數值
  35. pstmt.setInt(1, e.getId()); // 設定第1個 ? 參數
  36. pstmt.setString(2, e.getFirstName()); // 設定第2個 ? 參數
  37. pstmt.setString(3, e.getLastName()); // 設定第3個 ? 參數
  38.  
  39. // 資料庫所使用的日期是 java.sql.Date , 所以必須先將 java.util.Date 轉成 java.sql.Date
  40. Date date = e.getBirthDate();
  41. long time = date.getTime();
  42. java.sql.Date sqlDate = new java.sql.Date(time); // 產生 java.sql.Date 物件
  43.  
  44. pstmt.setDate(4, sqlDate); // 設定第4個 ? 參數
  45. pstmt.setFloat(5, e.getSalary()); // 設定第5個 ? 參數
  46.  
  47. // executeUpdate() // 回傳有幾筆資料完成更新
  48. count = pstmt.executeUpdate();
  49.  
  50. } catch (SQLException ex) {
  51. // 拋出例外,並將原本 SQLException 包裹在其中 (說明是 SQLException 導致的)
  52. throw new EmployeeDAOException("EmployeeDAO 物件建構失敗", ex);
  53. }
  54. if (count > 0) {
  55. //System.out.println(e.getFirstName() + " 新增 成功");
  56. } else {
  57. //System.out.println(e.getFirstName() + " 新增 失敗");
  58. throw new EmployeeDAOException("EmployeeDAO 新增失敗");
  59. }
  60. }
  61.  
  62. @Override
  63. public Employee find(int id) throws EmployeeDAOException {
  64. return null;
  65. }
  66.  
  67. @Override
  68. public void update(Employee emp) throws EmployeeDAOException {
  69.  
  70. }
  71.  
  72. @Override
  73. public void delete(int id) throws EmployeeDAOException {
  74.  
  75. }
  76.  
  77. @Override
  78. public Employee[] listAll() throws EmployeeDAOException {
  79. return null;
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement