java模糊查询比对方法_Java多条件和模糊查询
busxf = new ArrayList();定義一個集合
StringBuffer stBuffer=new StringBuffer(selectbyl);
把SQL語句放入StringBuffer里面,因為StringBuffer是可以改變字符的長度,便于拼接SQL語句//拼接字符串
給需要拼接的字段判斷,如果數據為空就選擇不拼接
if(areaid!=0){
stBuffer.append(" and area.areaid=" +areaid);
}
if(username!=null&&!username.trim().isEmpty()){
stBuffer.append(" and user.username like '%" +username + "%'"); **模糊查詢**
}
if(sD!=null&&!sD.trim().isEmpty()){
stBuffer.append(" and person.buydate >= " +"'"+sD+"'");
}
if(eD!=null&&!eD.trim().isEmpty()){
stBuffer.append(" and person.buydate <= "+"'"+eD+"'");
}
SQL語句也是有執行先后的順序,這里不多說,需要的可以百度。
Where 是要放在group by 前面的,不然會報SQL語句錯誤,所以再次憑借它放在最后面
stBuffer.append(" GROUP BY DATE_FORMAT(buydate,'%Y%m'),person.userid ");
下面是普遍的java查詢
try {
con = DbUtil.getConnection();
ps = con.prepareStatement(stBuffer.toString());
stBuffer一定要轉換成字符
rs = ps.executeQuery();
Business bssxf = null;
while (rs.next()) {
bssxf = new Business();
bssxf.setUsername(rs.getString("username"));
bssxf.setUserid(rs.getInt("userid"));
bssxf.setBalance(rs.getDouble("balance"));
bssxf.setAreaname(rs.getString("areaname"));
bssxf.setBuyDate(rs.getString("buyDate"));
busxf.add(bssxf);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DbUtil.close(con, ps, rs);
}
return busxf;
}
總結
以上是生活随笔為你收集整理的java模糊查询比对方法_Java多条件和模糊查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GDI+用PNG图片做半透明异型窗口
- 下一篇: 0323表格学习