?? usersqldaoimpl.java
字號:
/**
*
*/
package unicom.dao;
import unicom.bean.User;
import java.sql.*;
import unicom.util.*;
/**
* @author 陳才旭
* 日期:Apr 16, 2008
* 功能:實現接口IUserDao,實現對數據庫的具體訪問
* 優點:降低耦合,容易控制
* 缺點:
* 建議:
*/
public class UserSqlDaoImpl implements IUserDao{
//向數據庫插入一條手機用戶記錄,需要用到事務處理
public boolean addUser(User u) {
boolean flag = false;
String number = u.getNumber();
String status = u.getStatus();
String level = u.getLevel();
String customer_Id = u.getCustomerId();
String sql = "insert into TUser(id,number,status,level,customer_Id) values(null,?,?,?,?)";
String sql2 = "update TMobile set isAvailable = 'N' where number = ?";
Connection conn = DBUtil.getConn();
PreparedStatement pstmt = null;
try {
//增加記錄
boolean autoCommit = conn.getAutoCommit();//保留現場
conn.setAutoCommit(false);//將其設置為不自動提交
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, number);
pstmt.setString(2, status);
pstmt.setString(3, level);
pstmt.setInt(4, Integer.parseInt(customer_Id));
pstmt.execute();
//同時將該手機號碼設為不可用
pstmt = conn.prepareStatement(sql2);
pstmt.setString(1, number);
pstmt.execute();
//事務提交
conn.commit();
//恢復現場
conn.setAutoCommit(autoCommit);
flag = true;
} catch (SQLException e) {
e.printStackTrace();
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
flag = false;
}finally{
//釋放資源
DBUtil.close(conn);
DBUtil.close(pstmt);
}
return flag;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -