阻止!
広告阻止!
仕事が落ち着いたら再開するんだからねっ!
仕事が落ち着いたら再開するんだからねっ!
トランザクション管理
トランザクション管理について、
あれから色々調べてみたけど、自作は断念しました。
というのも、世に出回っているフレームワークが便利すぎるため。笑
結局たどり着いたのは「Spring Framework」です。
業務でもつかったのですが、
こいつがかなり多彩な機能をもっていて、トランザクション管理機能もある。
java、Dao、トランザクションなどをキーワードにお越しいただいた方は
一度調べてみると良いかもしれません。
SQLを外だしにしたい人はiBatisも調べてみると良いかも。
HP管理システムと家計簿はiBatis&Springで決定っ。
あれから色々調べてみたけど、自作は断念しました。
というのも、世に出回っているフレームワークが便利すぎるため。笑
結局たどり着いたのは「Spring Framework」です。
業務でもつかったのですが、
こいつがかなり多彩な機能をもっていて、トランザクション管理機能もある。
java、Dao、トランザクションなどをキーワードにお越しいただいた方は
一度調べてみると良いかもしれません。
SQLを外だしにしたい人はiBatisも調べてみると良いかも。
HP管理システムと家計簿はiBatis&Springで決定っ。
HP&HP管理システム開発始動!
ぱぐっす
HP&HP管理システムの開発がそろそろ始まります!
web版家計簿への踏み台として、ノウハウを蓄積できたらなと。
以下はメモ・・
background: #6F7070 url(images/bg.gif) repeat-x top;
画像は縦長でグラデーションをかける。
w:30px 程度
y:1024px 以上
HP&HP管理システムの開発がそろそろ始まります!
web版家計簿への踏み台として、ノウハウを蓄積できたらなと。
以下はメモ・・
background: #6F7070 url(images/bg.gif) repeat-x top;
画像は縦長でグラデーションをかける。
w:30px 程度
y:1024px 以上
トランザクションとデザパタ
トランザクション管理はFacadeパターンと相性がよさそう。
Facadeクラスの動き
- トランザクションを開始
- DAOを使ってDBアクセス
- 同上
- エラーが無ければコミット(トランザクションの終了を意味する)
- エラーがあればロールバック(トラry)
すこし勘違いしてた。
1コネクション = トランザクション単位と思っていたが、違うらしい。
もうちっと勉強する必要があるなぁ。
Facadeクラスの動き
- トランザクションを開始
- DAOを使ってDBアクセス
- 同上
- エラーが無ければコミット(トランザクションの終了を意味する)
- エラーがあればロールバック(トラry)
すこし勘違いしてた。
1コネクション = トランザクション単位と思っていたが、違うらしい。
もうちっと勉強する必要があるなぁ。
DAOの基底クラスの在るメソッド
protected final List<Map<String, Object>> executeQuery(String sql, Object[] arguments) {
ResultSet rs = null;
PreparedStatement statement = null;
List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
try {
statement = conn.prepareStatement(sql.toString());
int index = 1;
for (Object arg : arguments) {
statement.setObject(index++, arg);
}
LOG.debug(">>>>>>>>>>>>" + statement.toString());
rs = statement.executeQuery();
ResultSetMetaData metaData = rs.getMetaData();
while(rs.next()) {
Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
for (int y = 0; y < metaData.getColumnCount(); y++) {
resultMap.put(metaData.getColumnName(y + 1), rs.getObject(y + 1));
}
resultList.add(resultMap);
}
} catch (SQLException e) {
e.printStackTrace();
// throw new DataAccessException(e.getMessage(), e);
} finally {
close(rs);
close(statement);
}
return resultList;
}
SQL文と引数を渡すと、SQLを組み立てて実行します
実行結果は、MAP<カラム名、値>をリストにつめて返却。
こうしておくと、DAOの実装クラスはコード量少なくておk
INSERT、UPDATEも少し変えるだけでいける。
ちなみに、Connectionのオープンクローズは別クラスで行います。
トランザクション管理はDAOの仕事ではないので。



どっちも知らんヤツだなぁ・・・
Springはまぁ、名前くらいは聞いてるけど。
iBatisはjavaDBの関係者か?くぉHP&HP管理システム開発始動!・・・ぁあぁ!!トップ画面等の背景の指定の仕方かっ!!
最初なんの事やらわからんかったやwくぉ入金管理画面できたRe: タイトルなし> ソフトも作ってたんですね!
> メモ帳くらいなら作ったことあるけど・・・
> すごいですね!
こちらにもコメントありがとう御座います!
身内専用に作っていふーぃん入金管理画面できたソフトも作ってたんですね!
メモ帳くらいなら作ったことあるけど・・・
すごいですね!saharanトランザクションとデザパタフランス語を語源とする単語で「建物の正面」という意味らしい。ぱぐトランザクションとデザパタFacade読んでいれば書いてることだったらすみません、
Facade
てなんですか?くぉ入金管理画面できたくぅぅっ・・・時間ができて改めて思うけど、
途中で投げてしまったのが悔しいぜ。。。
企画・案出し頑張るぜ。
画面とか中身でも、出来ることあれば言ってチョ。
出来る時はやりたくぉ