콩을 사용하여 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
에서 호출하고 싶습니다. 어떻게해야합니까? 실제 문제는 무엇
입니까? 더 구체적으로 말하십시오. 또한 스크린 샷없이 질문에 코드를 포함하십시오. – bsoulier
@bsoulier 코드를 추가했습니다. 단지 EmployeeManager.java의 saveEmployee() 메소드에 액세스하려고합니다. 여기서 saveEmployee() 메소드는 attr.of Employee.java.Whats 구문을 전달했습니다. –