Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 897a006918 |
@@ -13,7 +13,6 @@ import java.sql.SQLException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.rhizome.example.dto.EmployeeDTO;
|
|
||||||
import com.rhizome.example.util.DbUtil;
|
import com.rhizome.example.util.DbUtil;
|
||||||
|
|
||||||
public class EmployeeDAO {
|
public class EmployeeDAO {
|
||||||
@@ -49,8 +48,8 @@ public class EmployeeDAO {
|
|||||||
* @throws SQLException
|
* @throws SQLException
|
||||||
* @throws ClassNotFoundException
|
* @throws ClassNotFoundException
|
||||||
*/
|
*/
|
||||||
public List<EmployeeDTO> selectAll() throws SQLException, ClassNotFoundException {
|
public List<String> selectAll() throws SQLException, ClassNotFoundException {
|
||||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
List<String> rtnList = new ArrayList<>();
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append(" SELECT ");
|
sql.append(" SELECT ");
|
||||||
sql.append(" " + "*");
|
sql.append(" " + "*");
|
||||||
@@ -60,16 +59,8 @@ public class EmployeeDAO {
|
|||||||
|
|
||||||
this.stmt = con.prepareStatement(sql.toString());
|
this.stmt = con.prepareStatement(sql.toString());
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
//DBのカラムをリストに追加
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
EmployeeDTO dto = new EmployeeDTO();
|
rtnList.add(rs.getString(NM_EMPLOYEE));
|
||||||
dto.setEmpid(rs.getInt(ID_EMPLOYEE));
|
|
||||||
dto.setName(rs.getString(NM_EMPLOYEE));
|
|
||||||
dto.setKana(rs.getString(KN_EMPLOYEE));
|
|
||||||
dto.setMail(rs.getString(MAIL_ADDRESS));
|
|
||||||
dto.setPass(rs.getString(PASSWORD));
|
|
||||||
dto.setDepid(rs.getInt(ID_DEPARTMENT));
|
|
||||||
rtnList.add(dto);
|
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
DbUtil.closeStatement(this.stmt);
|
DbUtil.closeStatement(this.stmt);
|
||||||
@@ -77,65 +68,4 @@ public class EmployeeDAO {
|
|||||||
return rtnList;
|
return rtnList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<EmployeeDTO> selectByld(int id) throws SQLException {
|
|
||||||
List<EmployeeDTO> rtnList = new ArrayList<>();
|
|
||||||
StringBuilder sql = new StringBuilder();
|
|
||||||
//社員テーブルから指定された社員IDに一致するデータを取得
|
|
||||||
sql.append(" SELECT ");
|
|
||||||
sql.append(" " + "*");
|
|
||||||
sql.append(" FROM ");
|
|
||||||
sql.append(" " + TBL_NAME);
|
|
||||||
sql.append(" WHERE ");
|
|
||||||
sql.append(" " + ID_EMPLOYEE);
|
|
||||||
sql.append(" = ");
|
|
||||||
sql.append(" " + id);
|
|
||||||
|
|
||||||
try {
|
|
||||||
this.stmt = con.prepareStatement(sql.toString());
|
|
||||||
rs = stmt.executeQuery();
|
|
||||||
//DBのカラムをリストに追加
|
|
||||||
while (rs.next()) {
|
|
||||||
EmployeeDTO dto = new EmployeeDTO();
|
|
||||||
dto.setEmpid(rs.getInt(ID_EMPLOYEE));
|
|
||||||
dto.setName(rs.getString(NM_EMPLOYEE));
|
|
||||||
dto.setKana(rs.getString(KN_EMPLOYEE));
|
|
||||||
dto.setMail(rs.getString(MAIL_ADDRESS));
|
|
||||||
dto.setPass(rs.getString(PASSWORD));
|
|
||||||
dto.setDepid(rs.getInt(ID_DEPARTMENT));
|
|
||||||
rtnList.add(dto);
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
DbUtil.closeStatement(this.stmt);
|
|
||||||
}
|
|
||||||
if (rtnList.size() == 0) {
|
|
||||||
System.out.println("入力された値で情報が見つかりませんでした");
|
|
||||||
}
|
|
||||||
return rtnList;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void empDelete(int id) throws SQLException {
|
|
||||||
StringBuilder sql = new StringBuilder();
|
|
||||||
//社員テーブルから指定された社員IDに一致するデータを取得
|
|
||||||
sql.append(" DELETE ");
|
|
||||||
sql.append(" " + "*");
|
|
||||||
sql.append(" FROM ");
|
|
||||||
sql.append(" " + TBL_NAME);
|
|
||||||
sql.append(" WHERE ");
|
|
||||||
sql.append(" " + ID_EMPLOYEE);
|
|
||||||
sql.append(" = ");
|
|
||||||
sql.append(" " + id);
|
|
||||||
try {
|
|
||||||
this.stmt = con.prepareStatement(sql.toString());
|
|
||||||
this.stmt.executeUpdate();
|
|
||||||
System.out.println("削除が完了しました");
|
|
||||||
} finally {
|
|
||||||
DbUtil.closeStatement(this.stmt);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void emplnsert (String name, String kana, String mail, String pass, int id) {
|
|
||||||
StringBuilder sql = new StringBuilder();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import java.util.List;
|
|||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
import com.rhizome.example.dao.EmployeeDAO;
|
import com.rhizome.example.dao.EmployeeDAO;
|
||||||
import com.rhizome.example.dto.EmployeeDTO;
|
|
||||||
import com.rhizome.example.util.DbUtil;
|
import com.rhizome.example.util.DbUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,8 +44,6 @@ public class Main {
|
|||||||
* @throws SQLException
|
* @throws SQLException
|
||||||
*/
|
*/
|
||||||
public void start() throws ClassNotFoundException, SQLException {
|
public void start() throws ClassNotFoundException, SQLException {
|
||||||
Connection con = DbUtil.getConnection();
|
|
||||||
EmployeeDAO empDao = new EmployeeDAO(con);
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("現在のメンテナンス対象テーブル:" + targetTableName(tblFlg));
|
System.out.println("現在のメンテナンス対象テーブル:" + targetTableName(tblFlg));
|
||||||
System.out.println("1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了");
|
System.out.println("1:検索 2:登録 3:更新 4:削除 9:テーブル切替 0:終了");
|
||||||
@@ -60,7 +57,6 @@ public class Main {
|
|||||||
case "3":
|
case "3":
|
||||||
break;
|
break;
|
||||||
case "4":
|
case "4":
|
||||||
empDelete();
|
|
||||||
break;
|
break;
|
||||||
case "9":
|
case "9":
|
||||||
return;
|
return;
|
||||||
@@ -73,30 +69,6 @@ public class Main {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void empDelete() throws SQLException {
|
|
||||||
Connection con = DbUtil.getConnection();
|
|
||||||
EmployeeDAO empDao = new EmployeeDAO(con);
|
|
||||||
try {
|
|
||||||
String strId = inputCheck("ID", true);
|
|
||||||
int id = Integer.parseInt(strId);
|
|
||||||
List<EmployeeDTO> empList = empDao.selectByld(id);
|
|
||||||
if (empList.isEmpty()) {
|
|
||||||
} else {
|
|
||||||
System.out.println("指定されたIDの情報を削除します? Y/y");
|
|
||||||
System.out.println("Y/y以外の入力であればキャンセル");
|
|
||||||
Scanner sc = new Scanner(System.in);
|
|
||||||
String str = sc.nextLine();
|
|
||||||
if (str.equals("Y") || str.equals("y")) {
|
|
||||||
empDao.empDelete(id);
|
|
||||||
} else {
|
|
||||||
System.out.println("キャンセルしました");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
DbUtil.closeConnection(empDao.con);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 社員テーブルから情報を検索する
|
* 社員テーブルから情報を検索する
|
||||||
*
|
*
|
||||||
@@ -104,7 +76,7 @@ public class Main {
|
|||||||
* @throws SQLException
|
* @throws SQLException
|
||||||
*/
|
*/
|
||||||
public static void empSelect() throws ClassNotFoundException, SQLException {
|
public static void empSelect() throws ClassNotFoundException, SQLException {
|
||||||
List<EmployeeDTO> empList = new ArrayList<>();
|
List<String> empList = new ArrayList<>();
|
||||||
Connection con = DbUtil.getConnection();
|
Connection con = DbUtil.getConnection();
|
||||||
EmployeeDAO empDao = new EmployeeDAO(con);
|
EmployeeDAO empDao = new EmployeeDAO(con);
|
||||||
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
|
System.out.println("1:全検索 2:条件検索 それ以外:戻る");
|
||||||
@@ -114,17 +86,11 @@ public class Main {
|
|||||||
case "1":
|
case "1":
|
||||||
empList = empDao.selectAll();
|
empList = empDao.selectAll();
|
||||||
break;
|
break;
|
||||||
case "2":
|
|
||||||
System.out.println("IDを入力してください");
|
|
||||||
int id = sc.nextInt();
|
|
||||||
empList = empDao.selectByld(id);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (EmployeeDTO emp : empList) {
|
for (String emp : empList) {
|
||||||
System.out.println(emp.getEmpid() + "\t" + emp.getName() + "\t" + emp.getKana() + "\t"
|
System.out.println(emp);
|
||||||
+ emp.getMail() + "\t" + emp.getPass() + "\t" + emp.getDepid());
|
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
DbUtil.closeConnection(empDao.con);
|
DbUtil.closeConnection(empDao.con);
|
||||||
@@ -158,7 +124,7 @@ public class Main {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String inputCheck(String titleName, boolean flg) {
|
public static String inputCheck(String titleName, boolean flg) {
|
||||||
String str;
|
String str = null;
|
||||||
while (true) {
|
while (true) {
|
||||||
System.out.println(titleName + "を入力してください");
|
System.out.println(titleName + "を入力してください");
|
||||||
str = sc.nextLine();
|
str = sc.nextLine();
|
||||||
|
|||||||
@@ -44,10 +44,18 @@ public class DbUtil {
|
|||||||
* 生成されたConnectionを返却する
|
* 生成されたConnectionを返却する
|
||||||
* ※Connection生成には上記の定数を活用してください
|
* ※Connection生成には上記の定数を活用してください
|
||||||
*/
|
*/
|
||||||
public static Connection getConnection() throws SQLException {
|
public static Connection getConnection() throws ClassNotFoundException, SQLException {
|
||||||
//データベースへの接続
|
try {
|
||||||
con = DriverManager.getConnection(DB_URL, DB_USER ,DB_PASS);
|
Class.forName(DB_DRIVER);
|
||||||
return con;
|
return DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
System.out.println();
|
||||||
|
throw e;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println();
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -59,12 +67,16 @@ public class DbUtil {
|
|||||||
* 例外 :SQLException
|
* 例外 :SQLException
|
||||||
* 処理 :引数のDBステートメントがnullでない場合、そのDBステートメントをクローズする
|
* 処理 :引数のDBステートメントがnullでない場合、そのDBステートメントをクローズする
|
||||||
*/
|
*/
|
||||||
public static void closeStatement(PreparedStatement ps) throws SQLException {
|
public static void closeStatement(PreparedStatement stmt) {
|
||||||
//DBステートメントのクローズ
|
if (stmt != null) {
|
||||||
if (ps != null) {
|
try {
|
||||||
ps.close(); //DBステートメントをクローズ
|
stmt.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
System.out.println();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO 以下の仕様でメソッドを作成してください。
|
* TODO 以下の仕様でメソッドを作成してください。
|
||||||
*
|
*
|
||||||
@@ -74,11 +86,16 @@ public class DbUtil {
|
|||||||
* 例外 :SQLException
|
* 例外 :SQLException
|
||||||
* 処理 :引数のコネクションがnullでない場合、そのコネクションを切断する
|
* 処理 :引数のコネクションがnullでない場合、そのコネクションを切断する
|
||||||
*/
|
*/
|
||||||
public static void closeConnection(Connection con) throws SQLException {
|
public static void closeConnection(Connection con) {
|
||||||
//コネクションの切断
|
|
||||||
if (con != null) {
|
if (con != null) {
|
||||||
con.close(); //コネクション切断
|
try {
|
||||||
|
if (!con.isClosed()) {
|
||||||
|
con.close();
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user