2010.12.6 接上午。在net.jforum.repository/ForumRepository.java中
public synchronized static void start(final ForumDAO forumDAO, final CategoryDAO categoryDAO, final ConfigDAO configModel)
{
instance = new ForumRepository();
if (cache.get(FQN, LOADED) == null) { //未读入缓存
instance.loadCategories(categoryDAO); //取分类
instance.loadForums(forumDAO); //取板块
instance.loadMostUsersEverOnline(configModel); //取最高在线人数
instance.loadUsersInfo
(); //取用户信息
final Integer totalMessages = (Integer)cache.get(FQN, TOTAL_MESSAGES); //取缓存信息数
if (totalMessages == null) {
cache.add(FQN, TOTAL_MESSAGES, Integer.valueOf(0)); //设置缓存信息数为零
}
cache.add(FQN, LOADED, "1"); //已读入缓存标记
}
}
还剩下loadUserInfo()没分析了。
private void loadUsersInfo() //取用户信息
{ //直接从数据表读取并写入缓存
UserDAO udao = DataAccessDriver.getInstance().newUserDAO();
cache.add(FQN, LAST_USER, udao.getLastUserInfo
());
cache.add(FQN, TOTAL_USERS, Integer.valueOf(udao.getTotalUsers
()));
}
在net.jforum.dao.generic/GenericUserDAO.java中
public User getLastUserInfo()
{ //取最后注册的用户姓名与ID
PreparedStatement p = null;
ResultSet rs = null;
try {
User user = new User();
p = JForumExecutionContext.getConnection().prepareStatement(
SystemGlobals.getSql("UserModel.lastUserRegistered")); //取SQL语句
rs = p.executeQuery();
rs.next();
user.setUsername(rs.getString("username")); //用户名
user.setId(rs.getInt("user_id")); //用户ID
return user;
}
catch (SQLException e) {
throw new DatabaseException(e);
}
finally {
DbUtils.close(rs, p);
}
}
public int getTotalUsers()
{ //取总注册人数
PreparedStatement preparedStatement = null;
try {
preparedStatement = JForumExecutionContext.getConnection().prepareStatement(
SystemGlobals.getSql("UserModel.totalUsers")); //取SQL语句
return this.getTotalUsersCommon
(preparedStatement);
//防异常处理
}
catch (SQLException e) {
throw new DatabaseException(e);
}
finally {
DbUtils.close(preparedStatement);
}
}
protected int getTotalUsersCommon(PreparedStatement p) throws SQLException//防异常处理
{
ResultSet rs = p.executeQuery();
int total = 0;
if (rs.next()) {
total = rs.getInt(1);
}
rs.close();
p.close();
return total;
}
小结:
根据ForumRepository的start,其动作为:取所有分类,取当前用户有权处理的所有板块,取最高在线人数,取最后注册用户信息及注册总人数,取缓存信息数。
取所有分类的语句在:“CategoryModel.selectAll”
取所有板块的语句在:“ForumModel.selectAll”
取最后注册的用户姓名与ID语句在:
"UserModel.lastUserRegistered"
取总注册人数语句在:
"UserModel.totalUsers")
分享到:
相关推荐
NULL 博文链接:https://caihexi.iteye.com/blog/919868
chx99个人主页源码_chx99
中文资料 英文资料 好重要的 很好很强大的哦
这是生物方面的资源,不感兴趣的人不建议下载
CHX-I防火墙官方教程-附带翻译终稿.pdf
HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网HA-SoftEther-CHX虚拟专网
chx03_org05_MIPS_4b
[CMS程序]chx99个人主页源码_chx99(ASP.NET源码).rar
CHX轻巧的终端十六进制编辑器。可以在config.h中更改命令和键绑定
[CMS程序]chx99个人主页源码_chx99.zip源码ASP.NET网站源码打包下载[CMS程序]chx99个人主页源码_chx99.zip源码ASP.NET网站源码打包下载[CMS程序]chx99个人主页源码_chx99.zip源码ASP.NET网站源码打包下载[CMS程序]...
CHX-3大手臂大法兰.SLDDRW
本软件是一个模似网卡和集线器的工具,可以模似集线器功能,实现VPN的功能。使得系统把此软件识别成一块网卡,有了这个东西,只要可以访问外网,都可以连接到虚拟HUB上与其他电脑组成局域网,在此虚拟的局域...
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
CHX-I防火墙官方教程-附带翻译借鉴.pdf
1. Data dependences (also called true data dependences) 2. name dependences 3. c
ASP.NET-[CMS程序]chx99个人主页源码.zip
HX612和STC15W408AS的测试程序。 触摸后从串口发送按键号。只打开短按键模式。 HX612接在P33、P34上。这个IC并不是I2C接口。
北大计算机系高级计算机系统结构课件chx14-arch07-MT1
ASP.NET源码——[CMS程序]chx99个人主页源码.zip