首页 > 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子句,依此类图,但是总觉得不够灵活,在不使用其他框架的前提下,有没有什么更灵活的实现方式呢?


分成3个......


可以看看java的ibatis

【热门文章】
【热门文章】