Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all articles
Browse latest Browse all 68675

DAOクラスの使い方

$
0
0
ある書籍を参考に勉強しております。以下のDAOクラスのデータ追加に関して使い方がわかりません。 サーブレット、もしくはJSPにどのように書けば、DBにデータを追加できるようになるのでしょうか? 宜しく御願い致します。 package chap11_database.sec03; import java.sql.*; import java.util.ArrayList; public class EmployeeDAO { //データベースとの接続に必要な情報を保持するフィールド変数 private final static String DRIVER_URL ="jdbc:mysql://192.168.2.200:3306/satoh" + "?useUnicode=true&characterEncoding=utf8"; private final static String DRIVER_NAME = "com.mysql.jdbc.Driver"; private final static String USER_NAME = "root"; private final static String PASSWORD = "1qaz!QAZ"; //接続メソッド protected Connection createConnection(){ try{ Class.forName(DRIVER_NAME); Connection con = DriverManager.getConnection(DRIVER_URL, USER_NAME, PASSWORD); return con; } catch(Exception e){ e.printStackTrace(); } return null;//例外が発生した場合はnullを返す。 } //切断メソッド protected void closeConnection(Connection con){ try{ con.close(); } catch(Exception ex){ ex.printStackTrace(); } } public ArrayList<Employee> findAll(){ //社員一覧を保持するリスト ArrayList<Employee> list = new ArrayList<Employee>(); Connection con = null; try{ //データベースに接続 con = createConnection(); //データベースにSQL文を送信 String sql = "select * from employee"; Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); String address = rs.getString("address"); int tel = rs.getInt("tel"); Date birthday = rs.getDate("birthday"); Employee employee = new Employee(id, name, address, tel, birthday); //TO(Employeeオブジェクト)を、社員一覧を保持するリス手に追加 list.add(employee); } //社員一覧を返す。 return list; }catch(Exception e){ e.printStackTrace(); return null; }finally{ //データベースからの切断 closeConnection(con); } } //社員登録メソッド public void create(Employee emp){ Connection con = null; try{ //データベースに接続 con = createConnection(); //データベースにSQL文を送信 String sql = "insert into employee values(?, ?, ?, ? ,?)"; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1, emp.getId()); stmt.setString(2, emp.getName()); stmt.setString(3, emp.getAddress()); stmt.setInt(4, emp.getTel()); stmt.setDate(5, emp.getBirthday()); stmt.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ //データベースからの切断 closeConnection(con); } } }

Viewing all articles
Browse latest Browse all 68675