前臺頁面查詢引數多的話,建議將其封裝成querybean傳到DAO層,在DAO層構建SQL語句:例子
public List<UserFormBean> getAllUserInfo(UserFormBean userFormBean)
{
StringBuffer sql = new StringBuffer("select USERID,USERNAME,PASSWORD,REALNAME,SEX,INTEREST,DEGREE,INTRO,STATUS from demo_userinfo where 1=1");
String username = userFormBean.getUserName();
String interest = userFormBean.getInterest();
//如果查詢條件不空,則增加此條件;
if(username != null && !"".equals(username)){
sql.append(" and username like '%"+username+"%'");
}
if(interest != null && !"".equals(interest)){
sql.append(" and interest = '"+interest+"'");
}
sql.append(" order by USERID");
PreparedStatement pstm = null;
ResultSet rs = null;
Connection con = null;
List<UserFormBean> resultList = new ArrayList<UserFormBean>();
try
{
con = DBConnection.getConnection();
// System.out.println("---------------sql="+sql);
pstm = con.prepareStatement(sql.toString());
rs = pstm.executeQuery();
while (rs.next())
{
UserFormBean userInfo = new UserFormBean();
userInfo.setUserId(rs.getLong("USERID"));
userInfo.setUserName(rs.getString("USERNAME"));
userInfo.setPassWord(rs.getString("PASSWORD"));
userInfo.setName(rs.getString("REALNAME"));
userInfo.setSex(rs.getString("SEX"));
userInfo.setInterest(rs.getString("INTEREST"));
userInfo.setDegree(rs.getString("DEGREE"));
userInfo.setIntro(rs.getString("INTRO"));
userInfo.setStatus(rs.getString("STATUS"));
resultList.add(userInfo);
}
//System.out.println("---------------------ok");
} catch (SQLException e)
{
e.printStackTrace();
} finally
{
try{
rs.close();
pstm.close();
con.close();
}catch(SQLException e){
e.printStackTrace();
}
}
return resultList;
}