blogdb.java

来自「cwbbs 云网论坛源码」· Java 代码 · 共 361 行

JAVA
361
字号
package com.redmoon.blog;import java.sql.*;import java.util.*;import java.util.Date;import cn.js.fan.base.*;import cn.js.fan.db.*;import cn.js.fan.util.*;public class BlogDb extends ObjectDb {    public static final int ID = 1;    private int id = ID;    private int todayCount = 0;    private int userCount = 0;    private int topicCount = 0;    private int postCount = 0;    private int yestodayCount = 0;    private long newBlogId;    public BlogDb() {        id = ID;        init();        load();    }        public long[] getNewBlogMsgs(int n) {        BlogCache fc = new BlogCache(this);        return fc.getNewBlogMsgs(n);    }    public long[] getHotBlogMsgs(int n) {        BlogCache fc = new BlogCache(this);        return fc.getHotBlogMsgs(n);    }    public long[] getPostRank(int n) {        BlogCache fc = new BlogCache(this);        return fc.getPostRank(n);    }    public long[] getReplyRank(int n) {        BlogCache fc = new BlogCache(this);        return fc.getReplyRank(n);    }    public long[] getNewBlogs(int n) {        BlogCache fc = new BlogCache(this);        return fc.getNewBlogs(n);    }        public long[] getNewUpdateBlogs(int n) {        BlogCache fc = new BlogCache(this);        return fc.getNewUpdateBlogs(n);    }        public String[] getCommendBlogs(int n) {        BlogCache fc = new BlogCache(this);        return fc.getCommendBlogs(n);    }    public int[] getNewPhotos(int n) {        BlogCache fc = new BlogCache(this);        return fc.getNewPhotos(n);    }        public long[] getBlogMsgsOfKind(int n, String kind) {        BlogCache fc = new BlogCache(this);        return fc.getBlogMsgsOfKind(n, kind);    }    public ObjectDb getObjectDb(Object primaryKeyValue) {        BlogCache fc = new BlogCache(this);        PrimaryKey pk = (PrimaryKey)primaryKey.clone();        pk.setValue(primaryKeyValue);        return (BlogDb)fc.getObjectDb(pk);    }    public static BlogDb getInstance() {                BlogDb blogDb = new BlogDb();        blogDb = blogDb.getBlogDb();        return blogDb;    }    public BlogDb getBlogDb() {        return (BlogDb)getObjectDb(new Integer(ID));    }    public boolean del() {        return false;    }    public int getObjectCount(String sql) {        return 0;    }    public ObjectDb getObjectRaw(PrimaryKey pk) {        return new BlogDb();    }    public void setQueryCreate() {    }    public void setQuerySave() {        this.QUERY_SAVE =            "update blog set blogCount=?,newBlogId=?, todayCount=?, topicCount=?, postCount=?, yestodayCount=?, todayDate=?,star=?,homeClasses=?,recommandBlogs=? where id=?";    }    public void setQueryDel() {    }    public void setQueryLoad() {        this.QUERY_LOAD =            "select blogCount, newBlogId, todayCount, topicCount, postCount, yestodayCount, todayDate,star,homeClasses,recommandBlogs from blog where id=?";    }    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, blogCount);            ps.setLong(2, newBlogId);            ps.setInt(3, todayCount);            ps.setInt(4, topicCount);            ps.setInt(5, postCount);            ps.setInt(6, yestodayCount);            ps.setString(7, DateUtil.toLongString(todayDate));            ps.setString(8, star);            ps.setString(9, homeClasses);            ps.setString(10, recommandBlogs);            ps.setInt(11, id);            rowcount = conn.executePreUpdate();            BlogCache uc = new BlogCache(this);            primaryKey.setValue(new Integer(this.id));            uc.refreshSave(primaryKey);        } catch (SQLException e) {            logger.error(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.setInt(1, id);            primaryKey.setValue(new Integer(id));            rs = conn.executePreQuery();            if (rs.next()) {                blogCount = rs.getInt(1);                newBlogId = rs.getLong(2);                todayCount = rs.getInt(3);                topicCount = rs.getInt(4);                postCount = rs.getInt(5);                yestodayCount = rs.getInt(6);                todayDate = DateUtil.parse(rs.getString(7));                star = StrUtil.getNullString(rs.getString(8));                homeClasses = rs.getString(9);                recommandBlogs = StrUtil.getNullStr(rs.getString(10));                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() {        primaryKey = new PrimaryKey("id", PrimaryKey.TYPE_INT);    }    public void setId(int id) {        this.id = id;    }    public void setTodayCount(int todayCount) {        this.todayCount = todayCount;    }    public void setUserCount(int userCount) {        this.userCount = userCount;    }    public void setTopicCount(int topicCount) {        this.topicCount = topicCount;    }    public void setPostCount(int postCount) {        this.postCount = postCount;    }    public void setYestodayCount(int yestodayCount) {        this.yestodayCount = yestodayCount;    }    public int getTodayCount() {        return todayCount;    }    public int getUserCount() {        return userCount;    }    public int getTopicCount() {        return topicCount;    }    public int getPostCount() {        return postCount;    }    public int getYestodayCount() {        return yestodayCount;    }    public Date getTodayDate() {        return todayDate;    }    public int getBlogCount() {        return blogCount;    }    public long getNewBlogId() {        return newBlogId;    }    public String getStar() {        return star;    }    public String getHomeClasses() {        return homeClasses;    }    public String getRecommandBlogs() {        return recommandBlogs;    }        public void setStatics(boolean isAddNew) {                Calendar todaydb = Calendar.getInstance();        if (todayDate!=null)            todaydb.setTime(todayDate);        Calendar today = Calendar.getInstance();                if (DateUtil.datediff(todaydb, today) == 0) {            setTodayCount(todayCount + 1);        } else {             setYestodayCount(todayCount);            todayCount = 1;            todayDate = today.getTime();        }        if (isAddNew)            setTopicCount(topicCount + 1);        setPostCount(postCount + 1);        save();    }        public void reload() {        BlogCache uc = new BlogCache(this);        primaryKey.setValue(new Integer(this.id));        uc.refreshSave(primaryKey);    }    public void setBlogCount(int blogCount) {        this.blogCount = blogCount;    }    public void setNewBlogId(long newBlogId) {        this.newBlogId = newBlogId;    }    public void setStar(String star) {        this.star = star;    }    public void setHomeClasses(String homeClasses) {        this.homeClasses = homeClasses;    }    public void setRecommandBlogs(String recommandBlogs) {        this.recommandBlogs = recommandBlogs;    }    public Vector getAllHomeClasses() {        Vector v = new Vector();        if (homeClasses!=null && !homeClasses.equals("")) {            Leaf lf = new Leaf();            homeClasses = homeClasses.replaceAll(",", ",");            String[] ids = homeClasses.split("\\,");            int len = ids.length;            for (int i = 0; i < len; i++) {                String str = ids[i].trim();                                if (lf==null)                    lf = new Leaf();                lf = lf.getLeaf(str);                if (lf != null && lf.isLoaded())                    v.addElement(lf);            }        }        return v;    }        public Vector getAllRecommandBlogs() {        Vector v = new Vector();        if (recommandBlogs!=null && !recommandBlogs.equals("")) {            UserConfigDb ucd = new UserConfigDb();            recommandBlogs = recommandBlogs.replaceAll(",", ",");            String[] ids = recommandBlogs.split("\\,");            int len = ids.length;            for (int i = 0; i < len; i++) {                String id = ids[i].trim();                    ucd = ucd.getUserConfigDb(StrUtil.toInt(id));                    if (ucd != null && ucd.isLoaded())                        v.addElement(ucd);                    else                        ucd = new UserConfigDb();            }        }        return v;    }    private Date todayDate;    private int blogCount;    private String star;    private String homeClasses;    private String recommandBlogs;}

⌨️ 快捷键说明

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