下一步是建立服務,在資料庫中插入新列,以儲存最適化表單資料和相關附加資訊。
以下熒幕擷取畫面顯示資料庫中的一列。
下列程式碼會在資料庫中插入含有適當資料的新列
public String storeFormData(String formData, String attachmentsInfo, String telephoneNumber) {
log.debug("******Inside my AEMFormsWith DB service*****");
log.debug("### Inserting data ... " + formData + "and the telephone number to insert is " + telephoneNumber);
String insertRowSQL = "INSERT INTO aemformstutorial.formdatawithattachments(guid,afdata,attachmentsInfo,telephoneNumber) VALUES(?,?,?,?)";
UUID uuid = UUID.randomUUID();
String randomUUIDString = uuid.toString();
log.debug("The insert query is " + insertRowSQL);
Connection c = getConnection();
PreparedStatement pstmt = null;
try {
pstmt = null;
pstmt = c.prepareStatement(insertRowSQL);
pstmt.setString(1, randomUUIDString);
pstmt.setString(2, formData);
pstmt.setString(3, attachmentsInfo);
pstmt.setString(4, telephoneNumber);
log.debug("Executing the insert statment " + pstmt.executeUpdate());
c.commit();
} catch (SQLException e) {
log.error("unable to insert data in the table", e.getMessage());
} finally {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
log.debug("error in closing prepared statement " + e.getMessage());
}
}
if (c != null) {
try {
c.close();
} catch (SQLException e) {
log.debug("error in closing connection " + e.getMessage());
}
}
}
return randomUUIDString;
}