AbstractFormObjectをデータベースに保管するクラス。 wisdomx.logic.formtemplate.AbstractFormPersistanceを継承して作成します。
このクラスの役割は
"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(); }