關於jdon 中SequenceDaoSql 的使用和原理 和jta 使用
Long nextid = null;
try {
List list = jdbcTempSource.getJdbcTemp().queryMultiObject(queryParams, sql);
Iterator iter = list.iterator();
if (iter.hasNext()) {
Map map = (Map) iter.next();
nextid = (Long)map.get("id");
}
if (nextid == null) {
throw new SQLException("Error: A null sequence was returned from the database (could not get next " + idType + " sequence).");
}
nextid = new Long(nextid.longValue() + 1);//
String updatesql = "update jiveID set id = ? where idType = ?";
queryParams.clear();
queryParams.add(nextid);
queryParams.add(new Integer(idType));
jdbcTempSource.getJdbcTemp().operate(queryParams, updatesql);
nextid = new Long(nextid.longValue() + 1);//
String updatesql = "update jiveID set id = ? where idType = ?";
假如有多人同時取nextid,是否可能取回相同的值。
是否應該加上同步?
另外我想問一問,jdon有沒有提供“事務”處理。[我在程式碼中沒找到]
如果要使用jta [jotm] ,那麼jta放在哪一層比較好。[放在action中可以嗎]
謝謝!
try {
List list = jdbcTempSource.getJdbcTemp().queryMultiObject(queryParams, sql);
Iterator iter = list.iterator();
if (iter.hasNext()) {
Map map = (Map) iter.next();
nextid = (Long)map.get("id");
}
if (nextid == null) {
throw new SQLException("Error: A null sequence was returned from the database (could not get next " + idType + " sequence).");
}
nextid = new Long(nextid.longValue() + 1);//
String updatesql = "update jiveID set id = ? where idType = ?";
queryParams.clear();
queryParams.add(nextid);
queryParams.add(new Integer(idType));
jdbcTempSource.getJdbcTemp().operate(queryParams, updatesql);
nextid = new Long(nextid.longValue() + 1);//
String updatesql = "update jiveID set id = ? where idType = ?";
假如有多人同時取nextid,是否可能取回相同的值。
是否應該加上同步?
另外我想問一問,jdon有沒有提供“事務”處理。[我在程式碼中沒找到]
如果要使用jta [jotm] ,那麼jta放在哪一層比較好。[放在action中可以嗎]
謝謝!
相關文章
- Android中的LruCache的原理和使用Android
- 關於Struts的學習和使用
- 關於DOCTYPE的使用和說明
- 關於iOS中的執行緒安全和使用場景iOS執行緒
- 關於Jdon框架和Hibernate的整合,Banq大哥請進框架
- 關於Jdon的CloseSessionInViewFilterSessionViewFilter
- 關於Apache Tika的學習和使用Apache
- 面試中的 ThreadLocal 原理和使用場景面試thread
- sql中in和exists的原理及使用場景。SQL
- zookeeper的原理和使用(一)
- Oracle的rownum原理和使用Oracle
- 關於CAEmitterLayer和CAEmitterCell結合使用MIT
- 4_關於類的主動使用和被動使用
- 關於JTA實現的疑問
- Flutter Key的原理和使用 (二) Widget 和 Element 的對應關係Flutter
- 關於在SQL語句中ON和WHERE中條件使用的差異SQL
- Docker原理和基本使用Docker
- zookeeper使用和原理探究
- Android LeakCanary的使用和原理Android
- Google Protocol Buffer 的使用和原理GoProtocol
- oracle中關於in和exists,not in 和 not existsOracle
- 關於jdon的PageIterator的getPageIterator方法
- 深入理解Java中的反射機制和使用原理!詳細解析invoke方法的執行和使用Java反射
- class dump使用方式和原理
- runtime的底層原理和使用
- vuex 基本入門和使用(三)-關於 mutationVue
- 關於Ajax和websocket的區別以及使用場景!Web
- 關於rand和srand函式使用的一點心得函式
- CDB和PDB關於使用者建立和使用者許可權區別
- Oracle中關於函式的使用Oracle函式
- 關於jdon原始碼的問題原始碼
- Linuxcrontab下關於使用date命令和sudo命令的坑Linux
- 關於Qt無法直接使用cout和cin的問題QT
- 關於SAVEPOINT和自定義異常使用的一點看法
- 關於COMMIT和ROLLBACK語句的使用注意事項MIT
- 深入 Go 的 Map 使用和實現原理Go
- Java執行緒池的使用和原理Java執行緒
- KVO的使用和底層實現原理