package dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import entity.Employee;
@Repository("employeeDAO")
public class EmployeeDAO {
@Resource(name="jt")
private JdbcTemplate jt;
public void save(Employee e){
String sql="insert into eee_wjn values(eee_seq_wjn.nextval,?,?,?)";
Object[]args={e.getName(),e.getSalary(),e.getAge()};
jt.update(sql,args);
}
public List<Employee>findAll(){
String sql="select * from eee_wjn";
return jt.query(sql,new EmpRowMapper());
}
public Employee findById(int id){
String sql="select * from eee_wjn where id=?";
Object[] args={id};
Employee e=null;
try{
e=jt.queryForObject(sql, args,new EmpRowMapper());
}catch(EmptyResultDataAccessException e1){
//没有找到
e1.printStackTrace();
}
return e;
}
public void modify(Employee e){
String sql="update eee_wjn set name=? ,salary=?,age=? where id=? ";
Object[]args={e.getName(),e.getSalary(),e.getAge(),e.getId()};
jt.update(sql,args);
}
public void delete(int id){
String sql="delete from eee_wjn where id=?";
Object [] args={id};
jt.update(sql,args);
}
/**
* 告诉JdbcTemplate,如何处理ResultSet
*
@author soft01
*
*/
class EmpRowMapper implements RowMapper<Employee>{
/*
* index:正在被处理的记录的下标(从0开始)
*/
public Employee mapRow(ResultSet rs, int index) throws SQLException {
Employee e=new Employee();
e.setId(rs.getInt("id"));
e.setName(rs.getString("name"));
e.setAge(rs.getInt("age"));
e.setSalary(rs.getDouble("salary"));
return e;
}
}
}