Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package practice4;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.util.Date;
- import practice3.Employee;
- public class EmployeeDAOJDBC implements EmployeeDAO {
- private String url = "jdbc:derby://localhost:1527/EmployeeDB";
- private String user = "test";
- private String pass = "tiger";
- private Connection con;
- // 建構子
- public EmployeeDAOJDBC() throws EmployeeDAOException {
- try {
- // 員工系統需要長時間執行,需要持續連線,所以目前沒處理 close()
- con = DriverManager.getConnection(url, user, pass);
- } catch (SQLException ex) {
- // 拋出例外,並將原本 SQLException 包裹在其中 (說明是 SQLException 導致的)
- throw new EmployeeDAOException("EmployeeDAO 物件建構失敗", ex);
- }
- }
- @Override
- public void insert(Employee e) throws EmployeeDAOException {
- String query = "insert into employee values(?,?,?,?,?)"; // 使用問號代表參數,之後設定
- int count = 0; // 有幾筆資料完成新增
- try {
- PreparedStatement pstmt = con.prepareStatement(query); // PreparedStatement
- // 設定各項 ? 參數值
- pstmt.setInt(1, e.getId()); // 設定第1個 ? 參數
- pstmt.setString(2, e.getFirstName()); // 設定第2個 ? 參數
- pstmt.setString(3, e.getLastName()); // 設定第3個 ? 參數
- // 資料庫所使用的日期是 java.sql.Date , 所以必須先將 java.util.Date 轉成 java.sql.Date
- Date date = e.getBirthDate();
- long time = date.getTime();
- java.sql.Date sqlDate = new java.sql.Date(time); // 產生 java.sql.Date 物件
- pstmt.setDate(4, sqlDate); // 設定第4個 ? 參數
- pstmt.setFloat(5, e.getSalary()); // 設定第5個 ? 參數
- // executeUpdate() // 回傳有幾筆資料完成更新
- count = pstmt.executeUpdate();
- } catch (SQLException ex) {
- // 拋出例外,並將原本 SQLException 包裹在其中 (說明是 SQLException 導致的)
- throw new EmployeeDAOException("EmployeeDAO 物件建構失敗", ex);
- }
- if (count > 0) {
- //System.out.println(e.getFirstName() + " 新增 成功");
- } else {
- //System.out.println(e.getFirstName() + " 新增 失敗");
- throw new EmployeeDAOException("EmployeeDAO 新增失敗");
- }
- }
- @Override
- public Employee find(int id) throws EmployeeDAOException {
- return null;
- }
- @Override
- public void update(Employee emp) throws EmployeeDAOException {
- }
- @Override
- public void delete(int id) throws EmployeeDAOException {
- }
- @Override
- public Employee[] listAll() throws EmployeeDAOException {
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement