第一种:利用sql函数查询id集合
String sql = "select GROUP_CONCAT(DISTINCT product_id) productId from product_supplier where supplier_id="+supplierId;
try {
ps = db.getConn().prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()) {
con.append(" and p.id in ("+rs.getString(1)+")");
}
} catch (SQLException e) {
e.printStackTrace();
}
第二种:利用string拼接的方式把id结合拼起来
String sql = "select product_id from product_supplier where supplier_id="+supplierId;
StringBuffer sb = new StringBuffer();
try {
ps = db.getConn().prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
sb.append(rs.getInt(1)+",");
}
String s ="";
if(sb.toString().length()>=1){
s = sb.toString().substring(0,sb.length()-1);
}
con.append(" and p.id in ("+s+")");
第一种与第二种哪个的效率高呢