我正在学习这里的教程。我正试图通过一个名为票务系统的独立项目来实现这一目标。所以我创建了这个方法:
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。有人能告诉我,是否有其他方法可以满足我提供的所有论点?
与其在update()
中传递变量,不如将所有内容都放在Object[]
中,然后传递。
以下是代码片段:
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);
}