⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbmembermanager.java

📁 一套会员管理系统组件
💻 JAVA
字号:
/**
 * Created on 2004-5-9
 *
 */
package com.airinbox.member.profile.database;

import java.util.ArrayList;
import java.sql.*;

import com.airinbox.member.profile.*;

/**
 * @author FrankChu
 *
 */
public class DbMemberManager extends MemberManager {
	private static final String CREATE_MEMBER = "insert into " + MemberGlobal.getMemberTable() + 
					"(memid,memname,memcoin,memrate,createdate) values(?,?,?,?,?)";
	private static final String REMOVE_MEMBER = "delete from "+MemberGlobal.getMemberTable()+
					" where memid=?";
	private static final String MEMBER_AMOUNT = "select COUNT(*) as count from "+MemberGlobal.getMemberTable();
	private static final String MEMBER_LIST = "select * from "+MemberGlobal.getMemberTable();
	private static final String MEMBER_RATED = "select * from "+MemberGlobal.getMemberTable()+
					" where memrate=?";
	
	//private ArrayList memberlist = null;
	
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#createMember(int, java.lang.String, long, int)
	 */
	public void createMember(int memid, String memName, long coins, int rate)
			throws MemberAlreadyExistException {
		Connection con = null;
		PreparedStatement pstmt = null;
		Member member = null;
		try {
			member = getMember(memid,DbMember.MEMBER_ID);
			throw new MemberAlreadyExistException("member whose memid is "+memid+" is already exist.");
		} catch(MemberNotFoundException e) {
			try {
				con = getConnection();
				pstmt = con.prepareStatement(CREATE_MEMBER);
				pstmt.setLong(1,memid);
				pstmt.setString(2,memName);
				pstmt.setLong(3,coins);
				pstmt.setInt(4,rate);
				pstmt.setLong(5,new java.util.Date().getTime());
				pstmt.executeUpdate();
			} catch(SQLException ee) {
				ee.printStackTrace();
			}
		}
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getMember(long, int)
	 */
	public Member getMember(long id, int type) throws MemberNotFoundException {
		String key = String.valueOf(id) + "#" + String.valueOf(type);
		DbMember member = (DbMember)m_cache.get(key);
		if(member == null) {
			member = new DbMember(id,type,this);
			m_cache.put(key,member);
		}
		return member;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getMemberAmount()
	 */
	public int getMemberAmount() {
		int count = -1;
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			con = getConnection();
			pstmt = con.prepareStatement(MEMBER_AMOUNT);
			rs = pstmt.executeQuery();
			if(rs.next()) {
				count = rs.getInt("count"); 
			}
		} catch(SQLException sqle) {
			sqle.printStackTrace();
		}
		return count;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getMembers()
	 */
	public ArrayList getMembers() {
		ArrayList memberlist = new ArrayList();
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			con = getConnection();
			pstmt = con.prepareStatement(MEMBER_LIST);
			rs = pstmt.executeQuery();
			while(rs.next()) {
				long _id = rs.getLong("id");
				long _memid = rs.getLong("memid");
				String _memname = rs.getString("memname");
				long _memcoin = rs.getLong("memcoin");
				int _memrate = rs.getInt("memrate");
				java.util.Date _createdate = new java.util.Date(rs.getLong("createdate"));
				memberlist.add(new DbMember(_id,_memid,_memname,_memcoin,_memrate,_createdate,this));
			}
		} catch(SQLException sqle) {
			sqle.printStackTrace();
		}			
		return memberlist;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getMembers(int, int)
	 */
	public ArrayList getMembers(int startpos, int length) {
		ArrayList thelist = new ArrayList();
		ArrayList memberlist = getMembers();
		int start = startpos;
		if(start < 0 || start > memberlist.size()-1)
			start = 0;
		int end = start + length - 1;
		if(end > memberlist.size() - 1)
			end = memberlist.size() - 1;
		for(int i=start; i<=end; i++) {
			thelist.add(memberlist.get(i));
		}
		return thelist;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getUpperMemberAmount(int)
	 */
	public int getUpperMemberAmount(int coins) {
		int count = 0;
		ArrayList memberlist = getMembers();
		for(int i=0; i<memberlist.size(); i++) {
			Member member = (Member)memberlist.get(i);
			if(member.getMemberCoin() >= coins)
				count++;
		}
		return count;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getUpperMembers(int)
	 */
	public ArrayList getUpperMembers(int coins) {
		ArrayList thelist = new ArrayList();
		ArrayList memberlist = getMembers();
		for(int i=0; i<memberlist.size(); i++) {
			Member member = (Member)memberlist.get(i);
			if(member.getMemberCoin() >= coins)
				thelist.add(memberlist.get(i));
		}
		return thelist;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getUpperMembers(int, int, int)
	 */
	public ArrayList getUpperMembers(int coins, int startpos, int length) {
		ArrayList thelist = new ArrayList();
		ArrayList uplist = getUpperMembers(coins);
		int start = startpos;
		if(start < 0 || start > uplist.size()-1)
			start = 0;
		int end = start + length - 1;
		if(end > uplist.size() - 1)
			end = uplist.size() - 1;
		for(int i=start; i<=end; i++) {
			thelist.add(uplist.get(i));
		}
		return thelist;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getRatedMembers(int)
	 */
	public ArrayList getRatedMembers(int rate) {
		ArrayList thelist = new ArrayList();
		ArrayList memberlist = getMembers();
		for(int i=0; i<memberlist.size(); i++) {
			Member member = (Member)memberlist.get(i);
			if(member.getMemRate() == rate)
				thelist.add(member);
		}
		return thelist;
	}
	/* (non-Javadoc)
	 * @see com.airinbox.member.MemberManager#getUpRatedMembers(int)
	 */
	public ArrayList getUpRatedMembers(int rate) {
		ArrayList thelist = new ArrayList();
		ArrayList memberlist = getMembers();
		for(int i=0; i<memberlist.size(); i++) {
			Member member = (Member)memberlist.get(i);
			if(member.getMemRate() >= rate)
				thelist.add(member);
		}
		return thelist;
	}
	
    public Connection getConnection() throws SQLException
    {
        return m_poolManager.getPool().getConnection();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -