📄 boardmanagerdb.java
字号:
package com.redmoon.forum;
import cn.js.fan.base.ObjectDb;
import cn.js.fan.db.PrimaryKey;
import cn.js.fan.db.KeyUnit;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import cn.js.fan.db.Conn;
import java.sql.PreparedStatement;
import com.redmoon.forum.person.UserDb;
import java.util.Vector;
public class BoardManagerDb extends ObjectDb {
private String boardCode;
public BoardManagerDb() {
init();
}
public BoardManagerDb(String boardCode, String name) {
this.boardCode = boardCode;
this.name = name;
init();
load();
}
public ObjectDb getObjectDb(Object primaryKeyValue) {
BoardManagerCache fc = new BoardManagerCache(this);
primaryKey.setValue(primaryKeyValue);
return (BoardManagerDb)fc.getObjectDb(primaryKey);
}
/**
* 删除所有用户名为userName的版主
* @param userName String
* @return int
*/
public int delManager(String userName) {
String sql = "select boardcode from sq_boardmanager where name=?";
ResultSet rs = null;
int count = 0;
Conn conn = new Conn(connname);
try {
conn = new Conn(connname);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, userName);
rs = conn.executePreQuery();
if (rs!=null) {
while (rs.next()) {
getBoardManagerDb(rs.getString(1), userName).del();
count ++;
}
}
} catch (SQLException e) {
logger.error("delManager:" + e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return count;
}
public boolean del() {
int rowcount = 0;
Conn conn = null;
try {
conn = new Conn(connname);
PreparedStatement ps = conn.prepareStatement(this.QUERY_DEL);
ps.setString(1, boardCode);
ps.setString(2, name);
rowcount = conn.executePreUpdate();
BoardManagerCache uc = new BoardManagerCache(this);
HashMap keys = new HashMap();
keys.put("boardCode", new KeyUnit(boardCode));
keys.put("name", new KeyUnit(name));
primaryKey.setValue(keys);
uc.refreshDel(primaryKey);
BoardManagerCache bmc = new BoardManagerCache(this);
bmc.refreshBoardManagers(boardCode);
} catch (SQLException e) {
logger.error("save:" + e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return rowcount>0? true:false;
}
public int getObjectCount(String sql) {
return 0;
}
public ObjectDb getObjectRaw(PrimaryKey pk) {
return new BoardManagerDb(pk.getKeyStrValue("boardCode"), pk.getKeyStrValue("name"));
}
public void setQueryCreate() {
this.QUERY_CREATE = "insert into sq_boardmanager (boardcode, name, sort) values (?,?,?)";
}
public boolean create() {
int rowcount = 0;
Conn conn = null;
try {
conn = new Conn(connname);
PreparedStatement ps = conn.prepareStatement(this.QUERY_CREATE);
ps.setString(1, boardCode);
ps.setString(2, name);
ps.setInt(3, sort);
rowcount = conn.executePreUpdate();
if (rowcount>0) {
BoardManagerCache bmc = new BoardManagerCache(this);
bmc.refreshBoardManagers(boardCode);
}
} catch (SQLException e) {
logger.error("create:" + e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return rowcount>0? true:false;
}
public void setQuerySave() {
this.QUERY_SAVE =
"update sq_boardmanager set sort=? where boardcode=? and name=?";
}
public void setQueryDel() {
this.QUERY_DEL = "delete from sq_boardmanager where boardcode=? and name=?";
}
public void setQueryLoad() {
this.QUERY_LOAD =
"select sort from sq_boardmanager where boardcode=? and name=?";
}
public void setQueryList() {
}
public boolean save() {
int rowcount = 0;
Conn conn = null;
try {
conn = new Conn(connname);
PreparedStatement ps = conn.prepareStatement(this.QUERY_SAVE);
ps.setInt(1, sort);
ps.setString(2, boardCode);
ps.setString(3, name);
rowcount = conn.executePreUpdate();
BoardManagerCache uc = new BoardManagerCache(this);
HashMap keys = new HashMap();
// logger.info("boardCode=" + boardCode + " name=" + name);
keys.put("boardCode", new KeyUnit(boardCode));
keys.put("name", new KeyUnit(name));
primaryKey.setValue(keys);
uc.refreshSave(primaryKey);
BoardManagerCache bmc = new BoardManagerCache(this);
bmc.refreshBoardManagers(boardCode);
} catch (SQLException e) {
logger.error("save:" + e.getMessage());
} finally {
if (conn != null) {
conn.close();
conn = null;
}
}
return rowcount>0? true:false;
}
public Vector getBoardManagers(String boardcode) {
BoardManagerCache bmc = new BoardManagerCache(this);
return bmc.getBoardManagers(boardcode);
}
public BoardManagerDb getBoardManagerDb(String boardCode, String name) {
primaryKey.setKeyValue("boardCode", boardCode);
primaryKey.setKeyValue("name", name);
return (BoardManagerDb)getObjectDb(primaryKey.getKeys());
}
public void load() {
ResultSet rs = null;
Conn conn = new Conn(connname);
try {
PreparedStatement ps = conn.prepareStatement(this.QUERY_LOAD);
ps.setString(1, boardCode);
ps.setString(2, name);
primaryKey.setKeyValue("boardCode", boardCode);
primaryKey.setKeyValue("name", name);
rs = conn.executePreQuery();
if (rs.next()) {
sort = rs.getInt(1);
loaded = true;
}
} catch (SQLException e) {
logger.error("load:" + e.getMessage());
}
finally {
if (conn!=null) {
conn.close();
conn = null;
}
}
}
public Object[] getObjectBlock(String query, int startIndex) {
return null;
}
public void setPrimaryKey() {
HashMap key = new HashMap();
key.put("boardCode", new KeyUnit(primaryKey.TYPE_STRING));
key.put("name", new KeyUnit(primaryKey.TYPE_STRING));
primaryKey = new PrimaryKey(key);
}
/**
* 检查用户是否为某版的版主
* @param name String
* @return boolean
*/
public boolean isUserManager(String name) {
String sql =
"select boardcode from sq_boardmanager where name=?";
boolean re = false;
ResultSet rs = null;
Conn conn = new Conn(connname);
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
rs = conn.executePreQuery();
if (rs.next()) {
re = true;
}
} catch (SQLException e) {
logger.error("isUserManager:" + e.getMessage());
}
finally {
if (conn!=null) {
conn.close();
conn = null;
}
}
return re;
}
public void setBoardCode(String boardCode) {
this.boardCode = boardCode;
}
public void setName(String name) {
this.name = name;
}
public void setSort(int sort) {
this.sort = sort;
}
public String getBoardCode() {
return boardCode;
}
public String getName() {
return name;
}
public int getSort() {
return sort;
}
private String name;
private int sort;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -