package cse.test.service;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
public class RollBackImpl extends HibernateDaoSupport {
/*
* / 透過程式實作rollback
*/
public void rollBackMethod() {
Session session = null;
Transaction tx = null;
try {
session = this.getSession();
tx = session.beginTransaction();
String sql = "update TB_USER set USER_NAME=? where USER_ID=? ";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, "Mark");
query.setParameter(1, "A123456789");
query.executeUpdate();
String sql2 = "update TB_ADDRESS set ADDR=? where USER_ID=? ";
SQLQuery query1 = session.createSQLQuery(sql2);
query1.setParameter(0, "TOKYO");
query1.setParameter(1, "A123456789");
query1.executeUpdate();
tx.commit();
} catch (Exception ex) {
tx.rollback(); // 捕捉exception做rollback
} finally {
if (session != null) {
session.close();
}
}
}
/**
* 透過@Transactional宣告自動實作rollback
* session會自行關閉,不用再寫程式實作
*
*/
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public void rollBackMethod2() {
Session session = null;
try {
session = this.getSession();
String sql = "update TB_USER set USER_NAME=? where USER_ID=? ";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, "Mark");
query.setParameter(1, "A123456789");
query.executeUpdate();
String sql2 = "update TB_ADDRESS set ADDR=? where USER_ID=? ";
SQLQuery query1 = session.createSQLQuery(sql2);
query1.setParameter(0, "TOKYO");
query1.setParameter(1, "A123456789");
query1.executeUpdate();
} catch (Exception ex) {
System.out.println(ex);
}
}
}
單純的紀錄一下安裝vue cli的過程 第一步 ,因為需要用到npm去安裝vue cli,所以需要先安裝node.js 直接去官網下載然後安裝吧 https://nodejs.org/en/ 這一步沒什麼大礙需要注意,就是無腦安裝即可. 確認安裝成功,下個指令 npm -v 跑出版號即可. 第二步 安裝vue-cli 下指令 npm install -g @vue/cli 然後遇到第一個問題 Error: EACCES: permission denied, access '/usr/local/lib/node_modules' npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/usr/local/lib/node_modules' npm ERR! } 訊息瞞明顯的,就是權限問題啦 解決方法:改用指令 加上sudo 然後輸入密碼就可以繼續安裝了 sudo npm install -g @vue/cli 以為這樣就可以順利安裝了,殊不知又跑出問題 shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Permission denied job-working-directory: error retrieving current directory: getcwd: cannot access parent directories...
留言
張貼留言