String sql = "select comCode,teamCode,yearMonth,clossRate,operateCode,operateDate from testTable where 1=1";
List params = new ArrayList();
if (StringUtils.isNotEmpty(comCode)) {
sql += " and comcode like ? ";
params.add("comcode," + comCode);
}
if (StringUtils.isNotEmpty(teamCode)) {
sql += " and teamcode = ?";
params.add("teamcode," + teamCode);
}
if (StringUtils.isNotEmpty(yearMonth)) {
sql += " and yearmonth = ? ";
params.add("yearmonth," + yearMonth);
}
Connection conn = null;
ResultSet rs = null;
PreparedStatement ps = null;
try {
conn = super.getHibernateTemplate().getSessionFactory().openSession().connection();
ps = conn.prepareStatement(sql);
for (int i = 0; i < params.size(); i++) {
String str = params.get(i);
String[] arr = str.split(",");
if("comcode".equals(arr[0])){
ps.setString(i + 1, arr[1]+"%");
}
ps.setString(i + 1, arr[1]);
}
rs = ps.executeQuery();