2016-09-13 3 views
0

콩을 사용하여 EmployeeDAO 클래스의 클래스에서 saveEmployee() 메소드를 사용하려는 프로젝트를 수행하고 있습니다.DAO 클래스의 메소드 호출

Employee.java

package com.tutorialspoint.test; 

public class Employee { 

    EmployeeManager employeeManager; 

    private String fname; 
    private String lname; 
    private int dob; 
    private String add; 
    private int id; 

    public void setfname(String fname){ 
     this.fname=fname; 
    } 
    public String getfname(){ 
     return fname; 
    } 
    public void setlname(String lname){ 
     this.lname=lname; 
    } 
    public String getlname(){ 
     return lname; 
    } 
    public void setdob(int dob){ 
     this.dob=dob; 
    } 
    public int getdob(){ 
     return dob; 
    } 
    public void setadd(String add){ 
     this.add=add; 
    } 
    public String getadd(){ 
     return add; 
    } 
    public void setid(int id){ 
     this.id=id; 
    } 
    public int getid(){ 
     return id; 
    } 

    public void setEmployeeManager(EmployeeManager employeeManager) { 
     this.employeeManager = employeeManager; 
    } 
} 

EmployeeDAO.java

package com.tutorialspoint.test; 

import javax.sql.DataSource; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.List; 
import java.util.Map; 

import org.springframework.jdbc.core.JdbcTemplate; 
import org.springframework.jdbc.core.RowMapper; 
import org.springframework.jdbc.core.JdbcTemplate; 

import java.io.Serializable; 


public class EmployeeDAO implements Serializable{ 

    private static final long serialVersionUID = 1L; 

    //SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); 
    private JdbcTemplate jdbcTemplate; 

    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { 
     this.jdbcTemplate = jdbcTemplate; 
    } 

    public int saveEmployee(Employee e){ 

     String fname = e.getfname(); 
     String lname = e.getlname(); 
     int dob=e.getdob(); 
     String add=e.getadd(); 
     int id = e.getid(); 
     Object p[] = {fname, lname,dob,add,id}; 
     String query="insert into employee values(?,?,?)"; 
     return jdbcTemplate.update(query, p); 
    } 

    public int deleteEmployee(int id){ 
     String sql ="delete from employee where id = ?"; 
     return jdbcTemplate.update(sql, new Object[]{new Integer(id)}); 
    } 

    public List<Employee> getAllEmployee(){ 
     ResultSet rs = null; 
     PreparedStatement pst = null; 
     System.out.println("Connection starting."); 
     Connection con = getConnection(); 
     String stm = "Select * from employee"; 
     List<Employee> records = new ArrayList<Employee>(); 
     try { 
      pst = con.prepareStatement(stm); 
      pst.execute(); 
      rs = pst.getResultSet(); 

      while(rs.next()){ 
       Employee employee = new Employee(); 
       employee.setfname(rs.getString(1)); 
       employee.setlname(rs.getString(2)); 
       employee.setdob(rs.getInt(3)); 
       employee.setadd(rs.getString(4)); 
       employee.setid(rs.getInt(5)); 
       records.add(employee);    
      } 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     return records; 
    } 

    public Connection getConnection(){ 
     Connection con = null; 

     String url = "jdbc:postgresql://localhost:5432/testdb"; 
     String user = "postgres"; 
     String password = "postgres"; 

     try { 
      try { 
       Class.forName("org.postgresql.Driver"); 
      } catch (ClassNotFoundException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      con = DriverManager.getConnection(url, user, password); 
      System.out.println("Connection completed."); 
     } catch (SQLException ex) { 
      System.out.println(ex.getMessage()); 
     } 
      finally{ 
     } 
     return con; 
    } 


} 

EmployeeManager.java

package com.tutorialspoint.test; 

import org.springframework.stereotype.Service; 
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import com.tutorialspoint.test.EmployeeDAO; 
import com.tutorialspoint.test.Employee; 

import java.util.List; 
import javax.sql.DataSource; 

import org.springframework.jdbc.core.JdbcTemplate; 
import org.springframework.stereotype.Component; 

public class EmployeeManager { 
    //EmployeeDAO employeeDao=new EmployeeDAO(); 
    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 

    **EmployeeDAO employeeDao= (EmployeeDAO) ctx.getBean("edao"); 
     public void save(){ 
     employeeDao.saveEmployee(); 
    }** 


    List<Employee>list=employeeDao.getAllEmployee(); 

} 

내 코드 이상입니다. EmployeeDAO 클래스의 saveEmployee() 메서드를 EmployeeManager에서 호출하고 싶습니다. 어떻게해야합니까? 실제 문제는 무엇

+0

입니까? 더 구체적으로 말하십시오. 또한 스크린 샷없이 질문에 코드를 포함하십시오. – bsoulier

+0

@bsoulier 코드를 추가했습니다. 단지 EmployeeManager.java의 saveEmployee() 메소드에 액세스하려고합니다. 여기서 saveEmployee() 메소드는 attr.of Employee.java.Whats 구문을 전달했습니다. –

답변

0
public class EmployeeManager { 

    public void save(){ 
     ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 
     EmployeeDAO employeeDao = (EmployeeDAO) ctx.getBean("edao"); 
     List<Employee>list = employeeDao.getAllEmployee(); 
     employeeDao.saveEmployee(); 
    } 
} 
-1
ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml"); 
EmployeeDao dao = (EmployeeDao)ctx.getBean("edao"); 
int status = dao.saveEmployee(new Employee(101,"Naqash",50000));  
관련 문제