10/30 9-1まで完了
This commit is contained in:
@@ -106,89 +106,137 @@ public class DepartmentDAO {
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//部署名検索
|
||||
public List<DepartmentDTO> selectByName(String name) throws SQLException {
|
||||
//戻り値用リスト
|
||||
List<DepartmentDTO> rtnList = new ArrayList<>();
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT * ");
|
||||
sql.append(" FROM department ");
|
||||
sql.append(" WHERE nm_department = ? ");
|
||||
|
||||
try {
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//部署名を設定
|
||||
stmt.setString(1, name);
|
||||
//SQL実行
|
||||
rs = stmt.executeQuery();
|
||||
//検索結果をDTOへ格納
|
||||
while (rs.next()) {
|
||||
//DTO生成
|
||||
DepartmentDTO dto = new DepartmentDTO();
|
||||
//検索結果をDTOへセット
|
||||
dto.setIdDepartment(rs.getInt(ID_DEPARTMENT));
|
||||
dto.setNmDepartment(rs.getString(NM_DEPARTMENT));
|
||||
|
||||
//リストへ追加
|
||||
rtnList.add(dto);
|
||||
}
|
||||
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
|
||||
//検索結果を返却
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//部署情報削除
|
||||
public void deptDelete(int id) throws SQLException {
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" DELETE ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" " + TBL_NAME);
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" " + ID_DEPARTMENT + " = ?");
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" DELETE ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" " + TBL_NAME);
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" " + ID_DEPARTMENT + " = ?");
|
||||
|
||||
try {
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setInt(1, id);
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
try {
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setInt(1, id);
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//部署情報登録
|
||||
public void deptInsert(
|
||||
String departmentName)
|
||||
throws SQLException {
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
String departmentName)
|
||||
throws SQLException {
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" INSERT INTO department ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" nm_department ");
|
||||
sql.append(" ) ");
|
||||
sql.append(" VALUES ");
|
||||
sql.append(" (?) ");
|
||||
sql.append(" INSERT INTO department ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" nm_department ");
|
||||
sql.append(" ) ");
|
||||
sql.append(" VALUES ");
|
||||
sql.append(" (?) ");
|
||||
|
||||
try {
|
||||
try {
|
||||
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setString(1, departmentName);
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setString(1, departmentName);
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//部署情報更新
|
||||
public void deptUpdate(
|
||||
int id,
|
||||
String departmentName)
|
||||
throws SQLException {
|
||||
int id,
|
||||
String departmentName)
|
||||
throws SQLException {
|
||||
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" UPDATE department ");
|
||||
sql.append(" SET ");
|
||||
sql.append(" nm_department = ? ");
|
||||
sql.append(" WHERE id_department = ? ");
|
||||
sql.append(" UPDATE department ");
|
||||
sql.append(" SET ");
|
||||
sql.append(" nm_department = ? ");
|
||||
sql.append(" WHERE id_department = ? ");
|
||||
|
||||
try {
|
||||
try {
|
||||
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setString(1, departmentName);
|
||||
stmt.setInt(2, id);
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//値設定
|
||||
stmt.setString(1, departmentName);
|
||||
stmt.setInt(2, id);
|
||||
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
//SQL実行
|
||||
stmt.executeUpdate();
|
||||
|
||||
} finally {
|
||||
} finally {
|
||||
|
||||
//Statement切断
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
//Statement切断
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
//部署ID存在確認
|
||||
public boolean existsDepartment(int idDepartment)
|
||||
throws SQLException {
|
||||
|
||||
List<DepartmentDTO> deptList = selectById(idDepartment);
|
||||
|
||||
return deptList.size() > 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -138,6 +138,211 @@ public class EmployeeDAO {
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
// 社員名検索
|
||||
public List<EmployeeDTO> selectByName(String name) throws SQLException {
|
||||
//戻り値用リスト
|
||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" employee.id_employee ");
|
||||
sql.append(" ,employee.nm_employee ");
|
||||
sql.append(" ,employee.kn_employee ");
|
||||
sql.append(" ,employee.mail_address ");
|
||||
sql.append(" ,employee.password ");
|
||||
sql.append(" ,employee.id_department ");
|
||||
sql.append(" ,department.nm_department ");
|
||||
sql.append(" FROM employee ");
|
||||
sql.append(" INNER JOIN department ");
|
||||
sql.append(" ON employee.id_department = department.id_department ");
|
||||
sql.append(" WHERE employee.nm_employee = ? ");
|
||||
|
||||
try {
|
||||
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
|
||||
//社員名を設定
|
||||
stmt.setString(1, name);
|
||||
|
||||
//SQL実行
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
//検索結果をDTOへ格納
|
||||
while (rs.next()) {
|
||||
|
||||
//DTO生成
|
||||
EmployeeDTO dto = new EmployeeDTO();
|
||||
|
||||
//検索結果をDTOへセット
|
||||
dto.setIdEmployee(rs.getInt(ID_EMPLOYEE));
|
||||
dto.setNmEmployee(rs.getString(NM_EMPLOYEE));
|
||||
dto.setKnEmployee(rs.getString(KN_EMPLOYEE));
|
||||
dto.setMailAddress(rs.getString(MAIL_ADDRESS));
|
||||
dto.setPassword(rs.getString(PASSWORD));
|
||||
dto.setIdDepartment(rs.getInt(ID_DEPARTMENT));
|
||||
dto.setNmDepartment(rs.getString(NM_DEPARTMENT));
|
||||
|
||||
//リストへ追加
|
||||
rtnList.add(dto);
|
||||
}
|
||||
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
|
||||
//検索結果を返却
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//フリガナ検索
|
||||
public List<EmployeeDTO> selectByKana(String kana) throws SQLException {
|
||||
//戻り値用リスト
|
||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
||||
//SQL作成
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" employee.id_employee ");
|
||||
sql.append(" ,employee.nm_employee ");
|
||||
sql.append(" ,employee.kn_employee ");
|
||||
sql.append(" ,employee.mail_address ");
|
||||
sql.append(" ,employee.password ");
|
||||
sql.append(" ,employee.id_department ");
|
||||
sql.append(" ,department.nm_department ");
|
||||
sql.append(" FROM employee ");
|
||||
sql.append(" INNER JOIN department ");
|
||||
sql.append(" ON employee.id_department = department.id_department ");
|
||||
sql.append(" WHERE employee.kn_employee = ? ");
|
||||
|
||||
try {
|
||||
//PreparedStatement生成
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
//フリガナ設定
|
||||
stmt.setString(1, kana);
|
||||
//SQL実行
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
|
||||
EmployeeDTO dto = new EmployeeDTO();
|
||||
|
||||
dto.setIdEmployee(rs.getInt(ID_EMPLOYEE));
|
||||
dto.setNmEmployee(rs.getString(NM_EMPLOYEE));
|
||||
dto.setKnEmployee(rs.getString(KN_EMPLOYEE));
|
||||
dto.setMailAddress(rs.getString(MAIL_ADDRESS));
|
||||
dto.setPassword(rs.getString(PASSWORD));
|
||||
dto.setIdDepartment(rs.getInt(ID_DEPARTMENT));
|
||||
dto.setNmDepartment(rs.getString(NM_DEPARTMENT));
|
||||
|
||||
rtnList.add(dto);
|
||||
}
|
||||
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//メールアドレス検索
|
||||
public List<EmployeeDTO> selectByMail(String mail) throws SQLException {
|
||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" employee.id_employee ");
|
||||
sql.append(" ,employee.nm_employee ");
|
||||
sql.append(" ,employee.kn_employee ");
|
||||
sql.append(" ,employee.mail_address ");
|
||||
sql.append(" ,employee.password ");
|
||||
sql.append(" ,employee.id_department ");
|
||||
sql.append(" ,department.nm_department ");
|
||||
sql.append(" FROM employee ");
|
||||
sql.append(" INNER JOIN department ");
|
||||
sql.append(" ON employee.id_department = department.id_department ");
|
||||
sql.append(" WHERE employee.mail_address = ? ");
|
||||
|
||||
try {
|
||||
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
stmt.setString(1, mail);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
|
||||
EmployeeDTO dto = new EmployeeDTO();
|
||||
|
||||
dto.setIdEmployee(rs.getInt(ID_EMPLOYEE));
|
||||
dto.setNmEmployee(rs.getString(NM_EMPLOYEE));
|
||||
dto.setKnEmployee(rs.getString(KN_EMPLOYEE));
|
||||
dto.setMailAddress(rs.getString(MAIL_ADDRESS));
|
||||
dto.setPassword(rs.getString(PASSWORD));
|
||||
dto.setIdDepartment(rs.getInt(ID_DEPARTMENT));
|
||||
dto.setNmDepartment(rs.getString(NM_DEPARTMENT));
|
||||
|
||||
rtnList.add(dto);
|
||||
}
|
||||
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//部署名検索
|
||||
|
||||
public List<EmployeeDTO> selectByDepartment(String department) throws SQLException {
|
||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" employee.id_employee ");
|
||||
sql.append(" ,employee.nm_employee ");
|
||||
sql.append(" ,employee.kn_employee ");
|
||||
sql.append(" ,employee.mail_address ");
|
||||
sql.append(" ,employee.password ");
|
||||
sql.append(" ,employee.id_department ");
|
||||
sql.append(" ,department.nm_department ");
|
||||
sql.append(" FROM employee ");
|
||||
sql.append(" INNER JOIN department ");
|
||||
sql.append(" ON employee.id_department = department.id_department ");
|
||||
sql.append(" WHERE department.nm_department = ? ");
|
||||
|
||||
try {
|
||||
|
||||
stmt = con.prepareStatement(sql.toString());
|
||||
stmt.setString(1, department);
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
while (rs.next()) {
|
||||
|
||||
EmployeeDTO dto = new EmployeeDTO();
|
||||
|
||||
dto.setIdEmployee(rs.getInt(ID_EMPLOYEE));
|
||||
dto.setNmEmployee(rs.getString(NM_EMPLOYEE));
|
||||
dto.setKnEmployee(rs.getString(KN_EMPLOYEE));
|
||||
dto.setMailAddress(rs.getString(MAIL_ADDRESS));
|
||||
dto.setPassword(rs.getString(PASSWORD));
|
||||
dto.setIdDepartment(rs.getInt(ID_DEPARTMENT));
|
||||
dto.setNmDepartment(rs.getString(NM_DEPARTMENT));
|
||||
|
||||
rtnList.add(dto);
|
||||
}
|
||||
|
||||
} finally {
|
||||
|
||||
DbUtil.closeStatement(stmt);
|
||||
}
|
||||
|
||||
return rtnList;
|
||||
}
|
||||
|
||||
//社員情報削除
|
||||
public void empDelete(int id) throws SQLException {
|
||||
//SQL作成
|
||||
|
||||
@@ -127,11 +127,52 @@ public class Main {
|
||||
break;
|
||||
|
||||
case "2":
|
||||
//検索項目選択
|
||||
System.out.println("1:ID 2:社員名 3:フリガナ 4:メールアドレス 5:部署名");
|
||||
String condition = sc.nextLine();
|
||||
switch (condition) {
|
||||
|
||||
String id = inputCheck("ID", true);
|
||||
empList = empDao.selectById(
|
||||
Integer.parseInt(id));
|
||||
break;
|
||||
//ID検索
|
||||
case "1":
|
||||
String id = inputCheck("ID", true);
|
||||
empList = empDao.selectById(Integer.parseInt(id));
|
||||
|
||||
break;
|
||||
|
||||
//社員名検索
|
||||
case "2":
|
||||
String name = inputCheck("社員名", false);
|
||||
empList = empDao.selectByName(name);
|
||||
|
||||
break;
|
||||
|
||||
//フリガナ検索
|
||||
case "3":
|
||||
String kana = inputCheck("フリガナ", false);
|
||||
empList = empDao.selectByKana(kana);
|
||||
|
||||
break;
|
||||
|
||||
//メールアドレス検索
|
||||
case "4":
|
||||
String mail = inputCheck("メールアドレス", false);
|
||||
empList = empDao.selectByMail(mail);
|
||||
|
||||
break;
|
||||
|
||||
//部署名検索
|
||||
case "5":
|
||||
String department = inputCheck("部署名", false);
|
||||
empList = empDao.selectByDepartment(department);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
@@ -333,6 +374,7 @@ public class Main {
|
||||
//DB接続
|
||||
Connection con = DbUtil.getConnection();
|
||||
EmployeeDAO empDao = new EmployeeDAO(con);
|
||||
DepartmentDAO deptDao = new DepartmentDAO(con);
|
||||
|
||||
try {
|
||||
|
||||
@@ -346,13 +388,35 @@ public class Main {
|
||||
String password = inputCheck("パスワード", false);
|
||||
//部署ID入力
|
||||
String departmentId = inputCheck("部署ID", true);
|
||||
|
||||
//部署IDを数値変換
|
||||
int deptId = Integer.parseInt(departmentId);
|
||||
|
||||
//入力された部署IDが存在するかチェック
|
||||
if (!deptDao.existsDepartment(deptId)) {
|
||||
|
||||
System.out.println("入力された部署IDは存在しません");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//登録確認
|
||||
System.out.println("社員情報を登録しますか? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
|
||||
String answer = sc.nextLine();
|
||||
|
||||
if (!"Y".equals(answer) && !"y".equals(answer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//登録処理
|
||||
empDao.empInsert(
|
||||
name,
|
||||
kana,
|
||||
mail,
|
||||
password,
|
||||
Integer.parseInt(departmentId));
|
||||
empDao.empInsert(
|
||||
name,
|
||||
kana,
|
||||
mail,
|
||||
password,
|
||||
deptId);
|
||||
|
||||
System.out.println("登録が完了しました");
|
||||
|
||||
@@ -367,6 +431,8 @@ public class Main {
|
||||
//DB接続
|
||||
Connection con = DbUtil.getConnection();
|
||||
EmployeeDAO empDao = new EmployeeDAO(con);
|
||||
//部署テーブル存在確認用DAO生成
|
||||
DepartmentDAO deptDao = new DepartmentDAO(con);
|
||||
|
||||
try {
|
||||
//更新対象ID入力
|
||||
@@ -396,14 +462,34 @@ public class Main {
|
||||
String password = inputUpdate("パスワード", emp.getPassword());
|
||||
//部署ID入力
|
||||
String departmentId = inputUpdate("部署ID", String.valueOf(emp.getIdDepartment()));
|
||||
|
||||
//部署IDを数値変換
|
||||
int deptId = Integer.parseInt(departmentId);
|
||||
//入力された部署IDが存在するかチェック
|
||||
if (!deptDao.existsDepartment(deptId)) {
|
||||
System.out.println("入力された部署IDは存在しません");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//更新確認
|
||||
System.out.println("社員情報を更新しますか? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
|
||||
String answer = sc.nextLine();
|
||||
|
||||
if (!"Y".equals(answer) && !"y".equals(answer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//更新処理
|
||||
empDao.empUpdate(
|
||||
id,
|
||||
name,
|
||||
kana,
|
||||
mail,
|
||||
password,
|
||||
Integer.parseInt(departmentId));
|
||||
id,
|
||||
name,
|
||||
kana,
|
||||
mail,
|
||||
password,
|
||||
deptId);
|
||||
|
||||
System.out.println("更新が完了しました");
|
||||
|
||||
@@ -437,19 +523,38 @@ public class Main {
|
||||
deptList = deptDao.selectAll();
|
||||
break;
|
||||
|
||||
//条件検索
|
||||
//条件検索
|
||||
case "2":
|
||||
//部署ID入力
|
||||
String id = inputCheck("ID", true);
|
||||
//検索項目選択
|
||||
System.out.println("1:ID 2:部署名");
|
||||
String condition = sc.nextLine();
|
||||
switch (condition) {
|
||||
|
||||
//ID検索実行
|
||||
deptList = deptDao.selectById(Integer.parseInt(id));
|
||||
break;
|
||||
//ID検索
|
||||
case "1":
|
||||
String id = inputCheck("ID", true);
|
||||
deptList = deptDao.selectById(Integer.parseInt(id));
|
||||
|
||||
//メニューへ戻る
|
||||
break;
|
||||
|
||||
//部署名検索
|
||||
case "2":
|
||||
String name = inputCheck("部署名", false);
|
||||
deptList = deptDao.selectByName(name);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
//メニューへ戻る
|
||||
default:
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
//検索結果0件の場合
|
||||
@@ -485,6 +590,18 @@ public class Main {
|
||||
try {
|
||||
//部署名入力
|
||||
String departmentName = inputCheck("部署名", false);
|
||||
|
||||
//登録確認
|
||||
System.out.println("部署情報を登録しますか? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
|
||||
String answer = sc.nextLine();
|
||||
|
||||
if (!"Y".equals(answer) && !"y".equals(answer)) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//登録処理
|
||||
deptDao.deptInsert(departmentName);
|
||||
@@ -520,6 +637,16 @@ public class Main {
|
||||
|
||||
//部署名入力
|
||||
String departmentName = inputCheck("部署名", false);
|
||||
|
||||
//更新確認
|
||||
System.out.println("部署情報を更新しますか? Y/y");
|
||||
System.out.println("(Y/y以外の入力であればキャンセル)");
|
||||
|
||||
String answer = sc.nextLine();
|
||||
|
||||
if (!"Y".equals(answer) && !"y".equals(answer)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//更新処理
|
||||
deptDao.deptUpdate(id, departmentName);
|
||||
|
||||
Reference in New Issue
Block a user