2016-04-02 17 views
1

zu verwenden Ich folge einem Tutorial gefunden here. Und ich versuche, es mit einem unabhängigen Projekt zu verfolgen, an dem ich arbeite, genannt Ticketing System. Also habe ich diese Methode:Spring SQL Richtiger Weg, JdbcTemplate.update()

public void create(Integer ticketNumber, Date timeOpened, String priorityLevel, String caseOwner) { 

    String sql = "insert into user_ticket (ticket_number, opened, priority, case_owner) values (?, ?, ?, ?)"; 
    jdbcTemplateObject.update(sql, ticketNumber, timeOpened, priorityLevel, caseOwner); 

    System.out.println("Created Record Ticket Number = " + ticketNumber + " Time Opened = " + timeOpened + "Priority Level " + 
    priorityLevel + " Case Owner: " + caseOwner); 
    return;  
} 

Aber das Problem ist, dass wenn ich versuche, diese Zeile zu verwenden:

jdbcTemplateObject.update(sql, ticketNumber, timeOpened, priorityLevel, caseOwner); 

ich einen Fehler:

The method update(String, Object[], int[]) in the type JdbcTemplate is not applicable for the arguments (String, Integer, Date, String, String) 

Ich verstehe, dass die Argumente Ich habe angegeben, möglicherweise nicht das Recht, die update() -Methode zu verwenden, und ich lerne immer noch SpringJDBC. Kann mir jemand sagen, ob es eine alternative Methode gibt, diese Methode anzuwenden, die alle Argumente, die ich anbiete, befriedigen kann?

Antwort

2

Anstatt die Variablen in update() zu übergeben, sollten Sie alles in Object[] setzen und dann übergeben.

Hier ist der Code-Schnipsel:

public void create(Integer ticketNumber, Date timeOpened, String priorityLevel, 
        String caseOwner) { 
    String sql = "insert into user_ticket (ticket_number, opened, priority, case_owner) 
        values (?, ?, ?, ?)"; 
    Object[] params = {ticketNumber, timeOpened, priorityLevel, caseOwner}; 
    jdbcTemplateObject.update(sql, params); 

    System.out.println("Created Record Ticket Number = " + ticketNumber + 
         " Time Opened = " + timeOpened + "Priority Level " + 
         priorityLevel + " Case Owner: " + caseOwner); 
} 
+1

Good stuff, danke :) – ryekayo

+0

@ryekayo Ihr Willkommen! :) – user2004685

Verwandte Themen