import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Service;
@Service
public class JdbcTempleteInParam {
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 示例
*/
public List getEmployees(Param param) {
// 定义结果集
List result = null;
// 拼接sql
String sql = "select * from employee where 1=1 ";
// 参数
Map paramMap = new HashMap();
if (null != param) {
if (null != param.getNames() && param.getNames().size() > 0) {
sql += "and name in (:names) ";
paramMap.put("names", param.getNames());
}
if (null != param.getDepts() && param.getDepts().size() > 0) {
sql += "and dept in (:depts) ";
paramMap.put("depts", param.getDepts());
}
}
// 查询
NamedParameterJdbcTemplate jdbc = new NamedParameterJdbcTemplate(jdbcTemplate);
result = jdbc.query(sql, paramMap, new RowMapper() {
@Override
public Employee mapRow(ResultSet rs, int index) throws SQLException {
Employee emp = new Employee();
emp.setId(rs.getLong("id"));
emp.setName(rs.getString("name"));
emp.setDept(rs.getString("dept"));
return emp;
}
});
// 返回查询结果
return result;
}
}