Hibernate 使用session 进行事务处理
2014-06-10 10:02
302 查看
public void saveLogoPath(String path, List<Terminal> temList)
throws Exception {
Session session = null;
Transaction trans = null;
// SqlHelper sp = new SqlHelper();
try {
session = getSessionFactory().openSession();
trans = session.beginTransaction();
// String sql =
// "insert into t_upgrade(upgradeFile,status,remark)values(?,?,?)";
if (path.indexOf("\\webapps\\ebook_web\\") > 0) {
path = path.substring(path.indexOf("\\webapps\\ebook_web\\")
+ 1 + "\\webapps\\ebook_web\\".length());
} else {
throw new RuntimeException(" upload soft path is error");
}
//
// session.createSQLQuery(sql).setParameter(0, path).setParameter(1,
// "1").setParameter(2, "公司logo").executeUpdate();
// sp.update(sql, params);
// String fileName = path.substring(path.lastIndexOf("\\") + 1);
String fileName = path;
if (temList != null && temList.size() > 0) {
for (Terminal t : temList) {
String sql2 = "insert into t_term_task(TERM_NO,TASK_TYPE,FILE_NAME,FINISH_FLAG,EXT_FINISH_FLAG,STATUS,TASK_STATE,CREATE_TIME,MODIFY_TIME)values(?,?,?,?,?,?,?,?,? )";
// 无论是通过不同类型参数的设置接口来设置SQL参数,还是通过setParameter来设置参数,下标都是从0开始的,而不是从1开始的!
session.createSQLQuery(sql2).setParameter(0,
t.getTerminal_no()).setParameter(1,
Constant.TASK_TYPE_LOGO_UPDATE).setParameter(2,
fileName).setParameter(3,
Constant.TERM_TASK_FINISH_FLAG_NOT_YET)
.setParameter(4,
Constant.TERM_TASK_EXT_FINISH_FLAG_NOT_YET)
.setParameter(5, Constant.STATUS_USEFUL)
.setParameter(6, Constant.STATUS_USEFUL)
.setParameter(7,
String.valueOf(new Date().getTime()))
.setParameter(8,
String.valueOf(new Date().getTime()))
.executeUpdate();
System.out.println("id:" + t.getId() + "termNO::"
+ t.getTerminal_no());
// sp.update(sql2, params2);
}
}
trans.commit();
} catch (Exception e) {
trans.rollback();
e.printStackTrace();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
session.createSQLQuery("select * from t_config").list();
throws Exception {
Session session = null;
Transaction trans = null;
// SqlHelper sp = new SqlHelper();
try {
session = getSessionFactory().openSession();
trans = session.beginTransaction();
// String sql =
// "insert into t_upgrade(upgradeFile,status,remark)values(?,?,?)";
if (path.indexOf("\\webapps\\ebook_web\\") > 0) {
path = path.substring(path.indexOf("\\webapps\\ebook_web\\")
+ 1 + "\\webapps\\ebook_web\\".length());
} else {
throw new RuntimeException(" upload soft path is error");
}
//
// session.createSQLQuery(sql).setParameter(0, path).setParameter(1,
// "1").setParameter(2, "公司logo").executeUpdate();
// sp.update(sql, params);
// String fileName = path.substring(path.lastIndexOf("\\") + 1);
String fileName = path;
if (temList != null && temList.size() > 0) {
for (Terminal t : temList) {
String sql2 = "insert into t_term_task(TERM_NO,TASK_TYPE,FILE_NAME,FINISH_FLAG,EXT_FINISH_FLAG,STATUS,TASK_STATE,CREATE_TIME,MODIFY_TIME)values(?,?,?,?,?,?,?,?,? )";
// 无论是通过不同类型参数的设置接口来设置SQL参数,还是通过setParameter来设置参数,下标都是从0开始的,而不是从1开始的!
session.createSQLQuery(sql2).setParameter(0,
t.getTerminal_no()).setParameter(1,
Constant.TASK_TYPE_LOGO_UPDATE).setParameter(2,
fileName).setParameter(3,
Constant.TERM_TASK_FINISH_FLAG_NOT_YET)
.setParameter(4,
Constant.TERM_TASK_EXT_FINISH_FLAG_NOT_YET)
.setParameter(5, Constant.STATUS_USEFUL)
.setParameter(6, Constant.STATUS_USEFUL)
.setParameter(7,
String.valueOf(new Date().getTime()))
.setParameter(8,
String.valueOf(new Date().getTime()))
.executeUpdate();
System.out.println("id:" + t.getId() + "termNO::"
+ t.getTerminal_no());
// sp.update(sql2, params2);
}
}
trans.commit();
} catch (Exception e) {
trans.rollback();
e.printStackTrace();
throw e;
} finally {
if (session != null) {
session.close();
}
}
}
session.createSQLQuery("select * from t_config").list();
相关文章推荐
- open session and Hibernate事务处理机制
- open session and Hibernate事务处理机制
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-UDA中处理事务
- 使用KTM(内核事务管理器)进行文件事务处理
- open session and Hibernate事务处理机制
- open session and Hibernate事务处理机制
- open session and Hibernate事务处理机制
- 理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-UDA中处理事务
- 理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理
- Java Bean 中使用JDBC方式进行事务处理
- 理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理
- Hibernate Tip: 使用JBOSS MBEAN时,Session会在事务提交后自动关闭!
- Hibernate中自动使用线程局部变量保存Session和事务对象
- Java Bean 中使用JDBC方式进行事务处理
- 使用CDatabase进行事务处理
- JavaBean中使用JDBC方式进行事务处理
- Hibernate整合进spring---使用自己的事务处理
- 如何使用Transact-SQL进行事务处理[示例]
- 使用Hibernate的session执行任意SQL语句以及整个事务