多条件查询时只需要在sql组装上做文章,既是在执行sql多用几个if语句组装sql如:
String sql="select * from user where 1=1";
//String sql="select * from user ";
StringBuffer content=new StringBuffer();
System.out.print("1");
try {
Class.forName(driver);
con=DriverManager.getConnection(url);
if(uid!=null&&(!uid.trim().equals(""))){
sql=sql+" and uid=?";
//sql=sql+" where uid=?";
}
System.out.print("2");
stmt=con.prepareStatement(sql);
if(uid!=null&&(!uid.trim().equals(""))){
stmt.setString(1, uid);
System.out.print(uid);
}
System.out.print("0");
System.out.print(sql);
//rs=stmt.executeQuery();
rs=stmt.executeQuery();
此为单条件组装。
String sql="select * from user where 1=1";
//String sql="select * from user ";
StringBuffer content=new StringBuffer();
System.out.print("1");
try {
Class.forName(driver);
con=DriverManager.getConnection(url);
if(uid!=null&&(!uid.trim().equals(""))){
sql=sql+" and uid=?";
//sql=sql+" where uid=?";
}
System.out.print("2");
stmt=con.prepareStatement(sql);
if(uid!=null&&(!uid.trim().equals(""))){
stmt.setString(1, uid);
System.out.print(uid);
}
System.out.print("0");
System.out.print(sql);
//rs=stmt.executeQuery();
rs=stmt.executeQuery();
此为单条件组装。