java sql 参数_Java:根据不同参数执行不同SQL,该如何优化呢?

传入参数param,查找数据库中有没有param对应的记录

private static final String SQL_GET = "SELECT count(*) as c FROM alarm t %s;";

public boolean exist(String param) {

boolean exist = false;

String condition = "";

if (param.equals("id")) {

condition = "WHERE t.id = '" + id + "'";

} else if (param.equals("name")) {

condition = "WHERE t.name = '" + name + "'";

} else {

condition = "WHERE t.meter = '" + meter + "'";

}

String sql = String.format(SQL_GETALARMEXIST, condition);

try {

Connection conn = DriverManager.getConnection();

Statement stmt = conn.createStatement();

ResultSet rs = sm.executeQuery(sql);

while (rs.next()) {

exist = rs.getInt("c") > 0;

}

} catch (Exception e) {

e.printStack();

} finally {

conn.close(sm);

}

return exist;

}

传入id则以id拼接WHERE子句,依此类图,但是总觉得不够灵活,在不使用其他框架的前提下,有没有什么更灵活的实现方式呢?


版权声明:本文为weixin_39774682原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。