Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

जावा में SQL स्ट्रिंग बनाने का सबसे साफ तरीका

सबसे पहले तैयार बयानों में क्वेरी पैरामीटर का उपयोग करने पर विचार करें:

PreparedStatement stm = c.prepareStatement("UPDATE user_table SET name=? WHERE id=?");
stm.setString(1, "the name");
stm.setInt(2, 345);
stm.executeUpdate();

दूसरी चीज जो की जा सकती है वह है सभी प्रश्नों को गुण फ़ाइल में रखना। उदाहरण के लिए एक query.properties फ़ाइल में उपरोक्त क्वेरी रखी जा सकती है:

update_query=UPDATE user_table SET name=? WHERE id=?

फिर एक साधारण उपयोगिता वर्ग की मदद से:

public class Queries {

    private static final String propFileName = "queries.properties";
    private static Properties props;

    public static Properties getQueries() throws SQLException {
        InputStream is = 
            Queries.class.getResourceAsStream("/" + propFileName);
        if (is == null){
            throw new SQLException("Unable to load property file: " + propFileName);
        }
        //singleton
        if(props == null){
            props = new Properties();
            try {
                props.load(is);
            } catch (IOException e) {
                throw new SQLException("Unable to load property file: " + propFileName + "\n" + e.getMessage());
            }           
        }
        return props;
    }

    public static String getQuery(String query) throws SQLException{
        return getQueries().getProperty(query);
    }

}

आप अपने प्रश्नों का इस प्रकार उपयोग कर सकते हैं:

PreparedStatement stm = c.prepareStatement(Queries.getQuery("update_query"));

यह एक सरल उपाय है, लेकिन यह अच्छी तरह से काम करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. निर्देशिका में फाइलों की सूची खोजने में समस्या

  2. Oracle पंक्ति के एकाधिक स्तंभों पर धुरी का उपयोग करना

  3. मैं टी-एसक्यूएल स्क्रिप्ट में पैरामीटर कैसे पास कर सकता हूं?

  4. ग्रैडल द्वारा जावा वेब ऐप में ojdbc7 कैसे जोड़ें?

  5. क्या ओरेकल में, दो पंक्तियों का उपयोग करके, एक पंक्ति में एकाधिक पंक्ति पंक्तियों में शामिल होने का कोई तरीका है, जहां अंतिम मान अल्पविराम से अलग होते हैं?