Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Najczystszy sposób na zbudowanie ciągu SQL w Javie

Przede wszystkim rozważ użycie parametrów zapytania w przygotowanych instrukcjach:

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

Inną rzeczą, którą można zrobić, jest przechowywanie wszystkich zapytań w pliku właściwości. Na przykład w pliku query.properties można umieścić powyższe zapytanie:

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

Następnie za pomocą prostej klasy użytkowej:

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);
    }

}

możesz użyć swoich zapytań w następujący sposób:

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

To dość proste rozwiązanie, ale działa dobrze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-12557 TNS:nie można załadować adaptera protokołu

  2. Jak mogę uzyskać dostęp do Oracle z Pythona?

  3. Nazwy Oracle TNS nie wyświetlają się podczas dodawania nowego połączenia do SQL Developer

  4. Parsowanie tnsnames.ora w Visual C# 2008

  5. Ukryte funkcje w Oracle