0
我似乎無法在任何地方找到直接的答案,我試圖使用java類更新現有的數據庫條目。用戶在jsp頁面上的表單中輸入他們的詳細信息,然後調用該servlet並將這些值分配給用戶對象。然後將該對象傳遞給編輯概要文件方法以執行數據庫操作。使用java更新數據庫條目
當我嘗試合併它的對象時,它創建一個新的條目,當我創建更新查詢並通過它不更新。有人請給我一個如何使用java進行更新的例子。
Java的:
public static void editUserProfile(User editUser) {
try{
factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
EntityManager em = factory.createEntityManager();
System.out.println("In edit profile Method");
int ID = editUser.get_Id();
String name = editUser.getName();
String address1 = editUser.getAddress1();
String address2 = editUser.getAddress2();
String county = editUser.getCounty();
String phone = editUser.getTelephone();
String email = editUser.getEmail();
String website = editUser.getWebsite();
String information = editUser.getInformation();
String password = editUser.getPassword();
String searchQuery = "UPDATE User SET name='"+name+"' address1='"+address1+"' address2='"+address2+"' "
+ "county='"+county+"' phone='"+phone+"' email='"+email+"' website='"+website+"' "
+ "information='"+information+"' password='"+password+"' WHERE id='"+ID+"'";
// Update user in the database
em.getTransaction().begin();
//Query r = em.createNativeQuery(searchQuery);
em.merge(searchQuery);
em.getTransaction().commit();
em.close();
我強烈建議您不要將字符串打擊到查詢中。創建一個PreparedStatement並添加變量。否則,您可以在以後自行解決各種SQL注入問題。 –
Err在JPA中使用createQuery和命名參數。 –
@Tripp動力學你能介意給我一個例子嗎? – SteveK