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

📄 boarddb.java

📁 云网论坛CWBBS 源码,内容丰富,学习,参考,教学的好资料,具体见内说明,
💻 JAVA
字号:
package com.redmoon.forum.plugin;

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

import cn.js.fan.base.*;
import cn.js.fan.db.*;
import cn.js.fan.util.*;

public class BoardDb extends ObjectDb {

    public BoardDb() {
        init();
    }

    public BoardDb(String pluginCode, String boardCode) {
        this.pluginCode = pluginCode;
        this.boardCode = boardCode;
        init();
        load();
    }

    public boolean create(String pluginCode, String boardCode, String rule) {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_CREATE);
            ps.setString(1, pluginCode);
            ps.setString(2, boardCode);
            ps.setString(3, rule);
            rowcount = conn.executePreUpdate();
            BoardCache rbc = new BoardCache(this);
            rbc.refreshCreate();
        } catch (SQLException e) {
            logger.error("create:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount > 0 ? true : false;
    }

    public boolean del() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(this.QUERY_DEL);
            ps.setString(1, pluginCode);
            ps.setString(2, boardCode);
            rowcount = conn.executePreUpdate();
            BoardCache sc = new BoardCache(this);
            sc.refreshDel(primaryKey);
        } catch (SQLException e) {
            logger.error("del:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount > 0 ? true : false;
    }

    public BoardDb getBoardDb(String pluginCode, String boardCode) {
        primaryKey.setKeyValue("pluginCode", pluginCode);
        primaryKey.setKeyValue("boardCode", boardCode);
        return (BoardDb)getObjectDb(primaryKey.getKeys());
    }

    public ObjectDb getObjectRaw(PrimaryKey pk) {
        return new BoardDb(pk.getKeyStrValue("pluginCode"), pk.getKeyStrValue("boardCode"));
    }

    public boolean save() {
        int rowcount = 0;
        Conn conn = null;
        try {
            conn = new Conn(connname);
            PreparedStatement ps = conn.prepareStatement(QUERY_SAVE);
            ps.setString(1, boardRule);
            ps.setString(2, pluginCode);
            ps.setString(3, boardCode);
            rowcount = conn.executePreUpdate();
            BoardCache uc = new BoardCache(this);
            primaryKey.setKeyValue("pluginCode", pluginCode);
            primaryKey.setKeyValue("boardCode", boardCode);
            uc.refreshSave(primaryKey);
        } catch (SQLException e) {
            logger.error("save:" + e.getMessage());
        } finally {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        }
        return rowcount>0? true:false;
    }

    public void load() {
        ResultSet rs = null;
        Conn conn = new Conn(connname);
        try {
            PreparedStatement ps = conn.prepareStatement(this.QUERY_LOAD);
            ps.setString(1, pluginCode);
            ps.setString(2, boardCode);
            rs = conn.executePreQuery();
            if (rs.next()) {
                boardRule = StrUtil.getNullStr(rs.getString(1));
                primaryKey.setKeyValue("pluginCode", pluginCode);
                primaryKey.setKeyValue("boardCode", boardCode);
                loaded = true;
            }
        } catch (SQLException e) {
            logger.error("load:" + e.getMessage());
        }
        finally {
            if (conn!=null) {
                conn.close();
                conn = null;
            }
        }
    }

    public void setBoardRule(String boardRule) {
        this.boardRule = boardRule;
    }

    public void setBoardCode(String boardCode) {
        this.boardCode = boardCode;
    }

    public void setPluginCode(String pluginCode) {
        this.pluginCode = pluginCode;
    }

    public String getBoardRule() {
        return boardRule;
    }

    public String getBoardCode() {
        return boardCode;
    }

    public String getPluginCode() {
        return pluginCode;
    }

    private String boardRule; // 本版规则
    private String boardCode;

    /**
     * isPluginBoard
     */
    public boolean isPluginBoard(String pluginCode, String boardCode) {
        BoardDb sb = getBoardDb(pluginCode, boardCode);
        if (sb.isLoaded())
            return true;
        else
            return false;
    }

    public void initDB() {
        this.tableName = "plugin_board";
        HashMap key = new HashMap();
        // 注意key的顺序一定要设置
        key.put("pluginCode", new KeyUnit(primaryKey.TYPE_STRING, 0));
        key.put("boardCode", new KeyUnit(primaryKey.TYPE_STRING, 1));
        primaryKey = new PrimaryKey(key);
        objectCache = new BoardCache(this);

        this.QUERY_CREATE = "insert into plugin_board (pluginCode, boardCode, boardRule) values (?, ?, ?)";
        this.QUERY_SAVE = "update plugin_board set boardRule=? where pluginCode=? and boardCode=?";
        this.QUERY_DEL = "delete from plugin_board where pluginCode=? and boardCode=?";
        this.QUERY_LOAD =
            "select boardRule from plugin_board where pluginCode=? and boardCode=?";
        this.QUERY_LIST = "select pluginCode, boardCode from plugin_board";
        isInitFromConfigDB = false;
    }

    private String pluginCode;
}

⌨️ 快捷键说明

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