Как передать getGeneratedKeys() на следующую страницу?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как передать getGeneratedKeys() на следующую страницу?

Сообщение Anonymous »

Я хотел бы передать метод getGneratedKeys(), который также известен как Last_generated_id, из текущего класса Java в следующий класс. Однако я совершенно не понимаю, как хранить и собирать идентификатор следующего Java-класса для использования этим классом.
Сценарий таков, что Insert.jsp вставит все строки и целые числа в мою базу данных MySQL. Вторая страница UserImage.jsp загрузит изображение в ту же таблицу и ту же запись, что и Insert.jsp.
Это означает, что запрос UserImage будет запрос обновление вместо запроса вставка.
Save.java (связанный класс для Insert.jsp):
public String execute()
{
int i = 0; //SELECT LAST_INSERT_ID();
try{
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull","root","8899");

String s = "insert into usertable(userNRIC, userName, userEmail, userPW, userContact, userAddress, catID, catTypeID, sectionID, status"
+ ") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ";
PreparedStatement ps=con.prepareStatement(s, Statement.RETURN_GENERATED_KEYS);

ps.setString(1, mb.getUserNRIC());
ps.setString(2, mb.getUserName());
ps.setString(3, mb.getUserEmail());
ps.setString(4, mb.getUserPW());
ps.setInt(5, mb.getUserContact());
ps.setString(6, mb.getUserAddress());
ps.setInt(7, mb.getCatID());
ps.setInt(8, mb.getCatTypeID());
ps.setInt(9, mb.getSectionID());
ps.setString(10, mb.getStatus());
ps.executeUpdate();
con.commit();
ResultSet rs = ps.getGeneratedKeys();
if (rs != null && rs.next()) {
i = rs.getInt(1);
//ps.setInt(i, mb.getUserID("UserID"));
}
ps.close();
con.close();

} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());

}
return SUCCESS;

}

FileUploadAction.java (связанный класс для UserImage.jsp):
public String execute(){
int i = 0;
connection = getConnection();
String query = "update usertable set userPhoto=? where userID=?";
try {
String filePath = servletRequest.getSession().getServletContext().getRealPath("/");
System.out.println("Server path:" + filePath);
File fileToCreate = new File(filePath, this.userImageFileName);

FileUtils.copyFile(this.userImage, fileToCreate);
//String uniqueFileName = fileToCreate.getPath();
pst = connection.prepareStatement(query);
pst.setString(1, this.userImageFileName);

i = pst.executeUpdate();

} catch (Exception e) {
e.printStackTrace();
addActionError(e.getMessage());

return INPUT;
}
return SUCCESS;

}


Подробнее здесь: https://stackoverflow.com/questions/249 ... -next-page
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»