translate this page to English.
データベースの実際のテーブルから列定義を読み込み、そのテーブルを表すエンティティ(ValueObject)クラスを生成するプラグインです。
各列のgetter/setterおよびequalsメソッド、cloneメソッド、簡単なDMLを実行するメソッドを生成します。
現在はOracle,PostgreSQL,MySQLに対応しています。
動作環境
インストール(DownLoad)
機能紹介
使用方法
著作権・配布・転載条件
免責事項
連絡先
バージョン履歴
| 注意 | 例 (VARCHAR2で列名がID、コメントがユーザーIDだった場合) |
|
|---|---|---|
| フィールド | Eclipseのコードスタイル設定でフィールドの接頭辞、接尾辞が指定してある場合はそれが反映されます。 | private String _ID = null; //ユーザーID |
| getter | Eclipseのコードテンプレート設定を反映します。 |
/**
* ユーザーIDを取得します。
* @return ユーザーID
*/
public String getID() {
return nullCase(_ID);
} |
| setter | Eclipseのコードテンプレート設定を反映します。 |
/**
* ユーザーIDを設定します。
* @param id ユーザーID
*/
public void setID(String id) {
_ID = id;
}
|
/** * equalsメソッド
* 全ての項目の値が同一の場合にtrueを返します。 * @return 全ての項目の値が同一の場合にtrue */ public boolean equals(Object obj) { if (!(obj instanceof UserAccount)) return false; UserAccount target = (UserAccount) obj; if (!getID().equals(target.getID())) return false; if (!getNAME().equals(target.getNAME())) return false; if (!getAGE().equals(target.getAGE())) return false; if (!getBIRTHDAY().equals(target.getBIRTHDAY())) return false; return true; }
/**
* デフォルトコンストラクタ
*/
public UserAccount() {
super();
}
/**
* コピーコンストラクタ
* @param original コピー元のオリジナル
*/
public UserAccount(UserAccount original) {
this();
setID(original.getID());
setNAME(original.getNAME());
setAGE(original.getAGE());
setBIRTHDAY(original.getBIRTHDAY());
}
/**
* Cloneメソッド
* @return このインスタンスのディープコピー
*/
protected Object clone() {
return new UserAccount(this);
}
/** * toStringメソッド
* このインスタンスの全ての項目の値を書き出します。 */ public String toString() { StringBuffer buf = new StringBuffer(); buf.append("getID=" + getID() + ":"); buf.append("getNAME=" + getNAME() + ":"); buf.append("getAGE=" + getAGE() + ":"); buf.append("getBIRTHDAY=" + getBIRTHDAY() + ":"); return buf.toString(); }
/**
* ResultSetから取得した値をエンティティにセットするUtilメソッドです。
* SELECT * FROM [TABLE名]の結果のResultSetを引数に渡して下さい。
*
* @param rs SELECT * FROM [テーブル名]の結果のResultSet
* @throws SQLException 何かエラーが発生した場合
*/
public void setValueFromResultSet(ResultSet rs) throws SQLException {
setID(rs.getString("ID"));
setNAME(rs.getString("NAME"));
setAGE(rs.getBigDecimal("AGE"));
setBIRTHDAY(rs.getTimestamp("BIRTHDAY"));
}
/**
* このエンティティのPK項目に設定されている値を条件に、DBからそれ以外の値を取得します。
*
* @param conn DB接続 このコネクションはメソッド内でクローズしませんので、
* 使用する側でクローズや必要であればコミットを行って下さい。
* @return データが取得できた場合はtrueを返します。
* @throws SQLException 何かエラーが発生した場合
*/
public boolean select(Connection conn) throws SQLException {
boolean ret = false;
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM USER_ACCOUNT WHERE 1=1 AND ID = ? ");
stmt.setString(1, getID());
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
setValueFromResultSet(rs);
ret = true;
}
rs.close();
stmt.close();
return ret;
}
/**
* このエンティティに設定されている値をDBにINSERTします。
*
* @param conn DB接続 このコネクションはメソッド内でクローズしませんので、使用する側でクローズや必要であればコミットを行って下さい。
* @return 追加されたレコード件数
* @throws SQLException 何かエラーが発生した場合
*/
public int insert(Connection conn) throws SQLException {
PreparedStatement stmt = conn.prepareStatement("INSERT INTO USER_ACCOUNT ("
+ "ID,NAME,AGE,BIRTHDAY) VALUES (" + "?,?,?,?)");
stmt.setString(1, getID());
stmt.setString(2, getNAME());
stmt.setBigDecimal(3, getAGE());
stmt.setTimestamp(4, getBIRTHDAY());
int ret = stmt.executeUpdate();
stmt.close();
return ret;
}
/**
* このエンティティのPK項目に設定されている値を条件に、このエンティティの値をDBにUPDATEします。
*
* @param conn DB接続 このコネクションはメソッド内でクローズしませんので、使用する側でクローズや必要であればコミットを行って下さい。
* @return 更新されたレコード件数
* @throws SQLException 何かエラーが発生した場合
*/
public int update(Connection conn) throws SQLException {
PreparedStatement stmt = conn.prepareStatement("UPDATE USER_ACCOUNT SET " + "ID = ?,NAME = ?,AGE = ?,BIRTHDAY = ?"
+ " WHERE 1=1 AND ID = ? ");
stmt.setString(1, getID());
stmt.setString(2, getNAME());
stmt.setBigDecimal(3, getAGE());
stmt.setTimestamp(4, getBIRTHDAY());
stmt.setString(5, getID());
int ret = stmt.executeUpdate();
stmt.close();
return ret;
}
/**
* このエンティティのPK項目に設定されている値を条件に、DBからデータをDELETEします。
*
* @param conn DB接続 このコネクションはメソッド内でクローズしませんので、使用する側でクローズや必要であればコミットを行って下さい。
* @return 削除されたレコード件数
* @throws SQLException 何かエラーが発生した場合
*/
public int delete(Connection conn) throws SQLException {
PreparedStatement stmt = conn.prepareStatement("DELETE FROM USER_ACCOUNT " + "" + "WHERE 1=1 AND ID = ? ");
stmt.setString(1, getID());
int ret = stmt.executeUpdate();
stmt.close();
return ret;
}
