更新実行クラス
AbstractFormObjectをデータベースに保管するクラス。
wisdomx.logic.formtemplate.AbstractFormPersistanceを継承して作成します。
このクラスの役割は
AbstractFormObjectの項目のチェックを行いデータベースへの登録、更新、削除を行うこと
です。
AbstractFormObjectPersistance#execute()
利用クラスはAbstractFormObjectPersistance#execute()を実行、
-
#_prepare()の実行
-
AbstractFormObjectPersistance#setIgnoreValidate(true)が実行されていない場合
#_valdate()が実行されます。
-
#_validate()の結果AbstractFormObject#isError()がtrueの場合
処理を終了します。
-
AbstractFormObject#isInsert()がtrueのとき
#_insert()が実行されます。
-
AbstractFormObject#isUpdate()がtrueのとき
#_update)が実行されます。
-
AbstractFormObject#isDelete()がtrueのとき
#_delete()が実行されます。
-
#_cleanup()の実行
各メソッドでAbstractFormObjectのデータベースへの処理ロジックを実装します。
このメソッドはAbstractFormObjectの状態に関係なく実行されます。
protected void _validate() throws Exception {
StringChecker sc = new StringChecker();
int result = 0;
result += sc.checkNotEmpty(USERID, fo.getUserid(),fo);
result += sc.checkNotEmpty(USERNAME, fo.getUsername(),fo);
result += sc.checkNotEmpty(PASSWORD, fo.getPassword(),fo);
result += sc.checkNotEmpty(MAILADDRESS, fo.getMailaddress(),fo);
result += sc.checkNotEmpty(SEXKBN, fo.getSexkbn().getSelected(),fo);
result += sc.checkNotEmpty(CITYCD, fo.getCitycd().getSelected(),fo);
if (fo.isInsert() && StringUtil.notEmpty(fo.getUserid())) {
PreparedStatement ps = rh.getConnection().prepareStatement(SQL_SEL_USER);
ps.setString(1, fo.getUserid());
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// USM0011E=入力されたユーザーIDはすでに登録されています。
fo.addErrorMessage(messageGenerator.getMessage("USM0011E"));
}
rs.close();
ps.close();
}
}
チェック処理の中でAbstractFormObject#addErrorMessag(Message)を呼び出すとそのAbstractFormObject#isError()がtrueになります。
追加されたMessageはAbstractFormObject#clearMessage()を実行するまで保持されます。
protected void _insert() throws Exception {
PreparedStatement ps = rh.getConnection().prepareStatement(SQL_INS_MUSER);
int x = 1;
ps.setString(x++, fo.getUserid());
ps.setString(x++, fo.getUsername());
ps.setString(x++, fo.getPassword());
ps.setString(x++, fo.getMailaddress());
ps.setString(x++, fo.getSexkbn().getSelected());
ps.setString(x++, fo.getCitycd().getSelected());
ps.executeUpdate();
ps.close();
insertHoddy();
}
protected void _update() throws Exception {
PreparedStatement ps = rh.getConnection().prepareStatement(SQL_UPD_MUSER);
int x = 1;
ps.setString(x++, fo.getUsername());
ps.setString(x++, fo.getPassword());
ps.setString(x++, fo.getMailaddress());
ps.setString(x++, fo.getSexkbn().getSelected());
ps.setString(x++, fo.getCitycd().getSelected());
ps.setString(x++, fo.getUserid());
ps.executeUpdate();
ps.close();
deleteHobbdy();
insertHoddy();
}
protected void _delete() throws Exception {
PreparedStatement ps = rh.getConnection().prepareStatement(SQL_DEL_MUSER);
ps.setString(1, fo.getUserid());
ps.executeUpdate();
ps.close();
deleteHobbdy();
}