2016-04-02 5 views
1

チュートリアルの後にはhereがあります。そして私が取り組んでいる独立したプロジェクトでそれを追跡しようとしていますが、チケットシステムと呼ばれています。だから私はこの方法で作成しました:Spring SQL 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;  
} 

をしかし、問題は、私はこの行を使用しようとすることです:

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

私は議論があることを理解する:

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

私はエラーを取得します私はupdate()メソッドを使用する権利ではない可能性があり、SpringJDBCをまだ学んでいます。私が提供しているすべての議論を満たすことができるこの方法を使用する別の方法があるかどうか誰かに教えてもらえますか?

答えて

2

update()に変数を渡す代わりに、すべてをObject[]に入れて渡す必要があります。あなたのウェルカム@ryekayo

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

良いもの、感謝:) – ryekayo

+0

:ここ

は、コードスニペットです! :) – user2004685

関連する問題