Java SpringSQL使用JdbcTemplate.update()的正确方法

Java SpringSQL使用JdbcTemplate.update()的正确方法,java,spring,Java,Spring,我是按照一个教程找到的。我正试图通过一个独立的项目来跟踪它,这个项目叫做票务系统。所以我创建了这个方法: public void create(Integer ticketNumber, Date timeOpened, String priorityLevel, String caseOwner) { String sql = "insert into user_ticket (ticket_number, opened, priority, case_owner) values (

我是按照一个教程找到的。我正试图通过一个独立的项目来跟踪它,这个项目叫做票务系统。所以我创建了这个方法:

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;     
}
但问题是,当我尝试使用这一行时:

jdbcTemplateObject.update(sql, ticketNumber, timeOpened, priorityLevel, caseOwner);
我得到一个错误:

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

我知道我提供的参数可能不适合使用update()方法,我还在学习SpringJDBC。有人能告诉我是否有其他方法可以使用此方法来满足我提供的所有参数吗?

您应该将所有内容放入
Object[]
中,然后传递它,而不是在
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 (?, ?, ?, ?)";
    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);
}

@ryekayo欢迎你!:)