package cn.sjxy.chapter06JDBC.Dao;
import java.util.List;
import java.util.Map;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.dao.DataAccessException;
import cn.sjxy.chapter06JDBC.Domain.Student;
public class StudentDao {
private final JdbcTemplate jdbcTemplate;
public StudentDao(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void save(Student student) {
String sql = "insert into tbstudent(sid, name, gender, age, birthday) values (?, ?, ?, ?, ?)";
Object[] obj = {student.getSid(), student.getName(), student.getGender(), student.getAge(), student.getBirthday()};
jdbcTemplate.update(sql, obj);
}
public List<Student> findAll() {
String sql = "select * from tbstudent";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Student.class));
}
public Student findBySid(String sid) {
String sql = "select * from tbstudent where sid = ?";
try {
return jdbcTemplate.queryForObject(sql, new Object[]{sid}, new BeanPropertyRowMapper<>(Student.class));
} catch (DataAccessException e) {
return null;
}
}
public List<Map<String, Object>> findByGender(String gender) {
String sql = "select sid, name, age from tbstudent where gender = ?";
try {
return jdbcTemplate.queryForList(sql, gender);
} catch (DataAccessException e) {
return null;
}
}
public Map<String, Object> findBySidForMap(String sid) {
String sql = "select sid, name, age from tbstudent where sid = ?";
try {
return jdbcTemplate.queryForMap(sql, sid);
} catch (DataAccessException e) {
return null;
}
}
public List<Map<String, Object>> findBySidList(String gender) {
String sql = "select sid, name, age from tbstudent where gender = ?";
try {
return jdbcTemplate.queryForList(sql, gender);
} catch (DataAccessException e) {
return null;
}
}
}