📄 dbmembermanager.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 + -