在測試更新update(goddess g)這里的代碼時,主函數調用,必須每一個變量都set一遍才可以?
public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub ??????db_goddess?db_god=new?db_goddess(); ??????Goddess?g=new?Goddess(); ??????g.setAge(23); ??????g.setEmail("[email protected]"); ??????g.setIsdel(0); ??????g.setBirthday(new?Date(2015,3,23)); ??????g.setSex(0); ??????g.setUpdate_user("admin"); ??????g.setUser_name("rose"); ??????g.setMobile("1344698"); ??????g.setId(7); ???????db_god.update(g);
public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub ??????db_goddess?db_god=new?db_goddess(); ??????Goddess?g=new?Goddess(); ??????g.setAge(23); ??????g.setEmail("[email protected]"); ??????g.setMobile("1344698"); ??????g.setId(7); ???????db_god.update(g);
下面這種我就得不到結果,表中的相應記錄沒有更新,這是為什么呢
2016-08-25
我試了下,不可以,g中不全部賦值update中要更新的字段的話,會引發空指針異常。
創建了一個godness對象時,不全部賦值的話,系統自動為引用變量賦值為null,
當執行INSERT SET user_name=?時,相當于INSERT SET user_name=null, 所以引發空指針異常。
一個可能的辦法是在創建godness類時,為每個屬性賦一個默認值,后面再用set方法修改需要改的值。
如果你想直接在上一條記錄的基礎上更改某幾個字段,我覺得可以先查詢,返回一個g,在這個g的基礎上修改。
2016-08-05
可以不用,你update()方法的定義里面涉及到哪些量,對應set哪些量就行