2017-02-17 8 views
3

Aus irgendeinem Grund müssen wir Datenbank native Abfrage statt flexible Abfrage ausführen. Zum Ausführen dieser Abfragen benötigen wir eine DB-Verbindung. Wie können wir also das jdbcTemplate- oder DataSource-Objekt von Hybris erhalten?Hybris Database Connection

+1

Für was genau das finden? Sie können auch relative DB-Bedingungen für die flexible Suche verwenden. Wenn der Code nicht als flexible Suche erkannt wird, wird er wie in der DB übergeben. –

Antwort

7

Dies ist ein Beispiel für ein Skript groovy, die dies erreichen können:

import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.SQLException; 
import de.hybris.platform.util.Utilities; 
import de.hybris.platform.core.Registry; 

Connection conn = null; 
PreparedStatement pstmt = null; 

try 
{ 
    conn = Registry.getCurrentTenant().getDataSource().getConnection(); 

    pstmt = conn.prepareStatement("your sql query here..."); 

    pstmt.execute(); 

} 
catch (final SQLException e) 
{ 
    LOG.error("Error!!"); 
} 
finally 
{ 
    Utilities.tryToCloseJDBC(conn, pstmt, null); 
} 

return "Groovy Rocks!" 


Edit: mehr Details in diesem Artikel https://www.stackextend.com/hybris/run-native-sql-query-hybris/

+0

Gut zu wissen .. – HybrisFreelance