📄 dbusermanage.java
字号:
package com.ntsky.bbs.service.db;
import java.util.*;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import org.apache.log4j.Logger ;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.ntsky.bbs.service.UserManage;
import com.ntsky.bbs.service.User;
import com.ntsky.bbs.service.db.DBUser;
import com.ntsky.datasource.DBConnectionManager;
/**
* <p>Title: Ntsky OpenSource BBS</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 天网文化发展有限公司</p>
* @author 姚君林
* @version 1.0
*/
public class DBUserManage implements UserManage{
private final static Logger logger = Logger.getLogger(DBUserFactory.class);
// 用户总数(默认状态)
private final static String USER_COUNT = "SELECT COUNT(usrId) FROM t_user;";
// 用户列表(默认状态)
private final static String USER_LIST = "SELECT usrId,usrName,usrWealth,usrRole,usrIsDelete FROM t_user;";
//单个用户列表(用户名查询)
private final static String SEL_USER_NAME = "SELECT * FROM t_user;";
/**
*
* @param role String
* @return int
*/
/*public User getUserInfo(String usrName){
Connection conn = DBConnectionManager.getInstance().getConnection(
);
PreparedStatement pstm = null;
ResultSet rs = null;
try {
pstm = conn.prepareStatement(SEL_USER_NAME);
}
catch (Exception ex) {
logger.error("获取用户信息错误 : " + ex.getMessage());
}
finally{
try {
rs.close();
}
catch(Exception e){
logger.error("关闭 pstm 失败 error : " + e.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " + ex.getMessage());
}
}
}*/
/**
* 此功能保留
* @param role String
* @return int
* @version
*/
public int userCount(String role) {
Connection conn = DBConnectionManager.getInstance().getConnection(
);
PreparedStatement pstm = null;
ResultSet rs = null;
int userCount = 0;
try {
pstm = conn.prepareStatement(USER_COUNT);
rs = pstm.executeQuery();
logger.info("角色为空吗? : " + (role==null));
if(role==null){
rs.next();
userCount = rs.getInt("usrId");
}
else{
while(rs.next()){
String tempRole = rs.getString("usrRole");
//如果包含该角色
if(isRole(tempRole, role)){
userCount++;
}
}
}
}
catch (Exception ex) {
logger.error("更新回复主题时用户的信息发生错误 : " + ex.getMessage());
}
finally {
try {
rs.close();
}
catch(Exception e){
logger.error("关闭 pstm 失败 error : " + e.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " + ex.getMessage());
}
}
return userCount;
}
/**
* 统计用户总数
* @return int
*/
public int userCount() {
Connection conn = DBConnectionManager.getInstance().getConnection(
);
PreparedStatement pstm = null;
ResultSet rs = null;
int userCount = 0;
try {
pstm = conn.prepareStatement(USER_COUNT);
rs = pstm.executeQuery();
rs.next();
userCount = rs.getInt(1);
}
catch (Exception ex) {
logger.error("更新回复主题时用户的信息发生错误 : " + ex.getMessage());
}
finally {
try {
rs.close();
}
catch(Exception e){
logger.error("关闭 pstm 失败 error : " + e.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " + ex.getMessage());
}
}
return userCount;
}
/**
* 角色数组
* @param string String
* @return List
*/
private boolean isRole(String string,String role) {
StringTokenizer stringTokenizer = new StringTokenizer(string, ",");
while (stringTokenizer.hasMoreTokens()) {
String str = stringTokenizer.nextToken();
if(role.equals(str)){
return true;
}
}
return false;
}
/**
* 用户列表分页显示
* @param maxNum int ------ 每页最多能显示的用户数
* @param page int ------ 当前的页码
* @return Iterator
*/
public Iterator userList(int maxNum ,int page) {
//maxNum 每页最多现实页数 page---->第几页
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
ResultSet rs = null;
List list = new ArrayList();
int i = 0;
try {
try {
pstm = conn.prepareStatement(USER_LIST);
rs = pstm.executeQuery();
}
catch (Exception e) {
logger.error("创建用户列表指针对象错误 : " + e.getMessage());
}
if (page == 1) { //第一页
try {
rs.absolute(1);
}
catch (Exception e) {
logger.error("指针移到第一条数据错误 : " + e.getMessage());
}
}
else {
rs.absolute( (page - 1) * maxNum);
}
/**
* 根据定位的指针来取得主题的值
*/
for (i = 0; i < maxNum; i++) {
if (page != 1) {
if (!rs.next()) {
break;
}
}
User user = new DBUser();
user.setUsrId(rs.getInt("usrId"));
user.setUsrName(rs.getString("usrName"));
user.setUsrWealth(rs.getString("usrWealth"));
user.setUsrRole(rs.getString("usrRole"));
user.setUsrIsDelete(rs.getInt("usrIsDelete"));
list.add(user);
/**
* 当页数为1的时候(填充数据后在返回)
*/
if (page == 1) {
if (!rs.next()) {
break;
}
}
}
}
catch (Exception e) {
logger.error("获取用户列表出错 : " + e.getMessage());
}
finally {
try {
rs.close();
}
catch (Exception ex) {
logger.error("关闭rs失败 : " + ex.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭pstm失败 : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭conn失败 : " + ex.getMessage());
}
}
return list.iterator();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -