package business;
import hibernate.HibernateUtil;
import java.util.ArrayList;
import java.util.Date;
import org.hibernate.Query;
import org.hibernate.Session;
import POJO.Article;
import POJO.Channel;
/**
* 数据操作类,封装所有对article表的操作
* @author dengziyun
*/
public class ArticleOP {
/**
* 功能:通过ID号查询出文章
* 参数articleId表示要查询的文章的ID号
* 返回查询出的文章列表
*/
public static ArrayList findArticleById(String articleId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("from Article where articleId="+articleId);
ArrayList resultArticle =
(ArrayList)sessionHiberante.createQuery(hqlStr).list();
sessionHiberante.getTransaction().commit();
return resultArticle;
}
/**
* 功能:将某篇文章的点击率增1
* 参数articleId表示要增加点击率的文章的ID号
*/
public static void updateArticleDots(String articleId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("update Article set articledots=articledots+1 "+
" where articleId="+articleId);
Query query = sessionHiberante.createQuery(hqlStr);
query.executeUpdate();
sessionHiberante.getTransaction().commit();
}
/**
* 功能:找出所有文章中最新录入的6篇文章
* 返回所有文章中最新录入的6篇文章的列表
*/
public static ArrayList findAllTop6(){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("from Article order by articleAddTime desc");
Query query=sessionHiberante.createQuery(hqlStr);
query.setFirstResult(0);
query.setMaxResults(6);
ArrayList resultArticle =
(ArrayList)query.list();
sessionHiberante.getTransaction().commit();
return resultArticle;
}
/**
* 功能:得到某个栏目中最新录入的6篇文章
* 参数channelId指出要查询的栏目的ID号
* 返回某个栏目中最新录入的6篇文章的列表
*/
public static ArrayList findChannelTop6(long channelId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("from Article where channelId="+channelId+
" order by articleAddTime desc");
Query query=sessionHiberante.createQuery(hqlStr);
query.setFirstResult(0);
query.setMaxResults(6);
ArrayList resultArticle =
(ArrayList)query.list();
sessionHiberante.getTransaction().commit();
return resultArticle;
}
/**
* 功能:统计某个栏目的文章篇数
* 参数channelId是要统计的文章栏目ID号
* 返回栏目的文章篇数
*/
public static int countArticleInChannel(String channelId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("select count(*) as countArticle "+
" from Article where channelId="+channelId);
int count=((Long)(sessionHiberante.createQuery(hqlStr).iterate().next())).intValue();
sessionHiberante.getTransaction().commit();
return count;
}
/**
* 功能:得到某个栏目分页显示时的当前页数据
* 参数channelId为栏目ID号,参数recordCount为总记录数,
* 参数pageSize为每页记录条数,参数currentPageNo为当前页码
* 返回栏目的当前页文章列表
*/
public static ArrayList findChannelCurrentPage(String channelId,
int recordCount,int pageSize,int currentPageNo){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("from Article where channelId="+channelId+
" order by articleAddTime desc");
Query query=sessionHiberante.createQuery(hqlStr);
query.setFirstResult(pageSize*(currentPageNo-1));
query.setMaxResults(pageSize);
ArrayList resultArticle =
(ArrayList)query.list();
sessionHiberante.getTransaction().commit();
return resultArticle;
}
/**
* 功能:往数据库article表中插入1条记录
* 参数articleName表示文章标题,参数articleContent表示文章内容,
* 参数articleAuthor表示文章作者,参数channelId表示文章所属栏目ID号
*/
public static void insertArticle(String articleName,String articleContent,
String articleAuthor,int channelId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
Article article=new Article();
article.setArticleName(articleName);
article.setArticleAuthor(articleAuthor);
article.setArticleContent(articleContent);
article.setArticleAddTime(new Date());
article.setArticledots(new Long(0));
String hqlStr=new String("from Channel where channelId="+channelId);
ArrayList resultChannel =
(ArrayList)sessionHiberante.createQuery(hqlStr).list();
if(resultChannel.size()!=0)
article.setChannel((Channel)resultChannel.get(0));
sessionHiberante.save(article);
sessionHiberante.getTransaction().commit();
}
/**
* 功能:删除某篇文章
* 参数articleId为要删除的文章的ID号
*/
public static void deleteArticle(String articleId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("delete from Article where articleId="+articleId);
Query query = sessionHiberante.createQuery(hqlStr);
query.executeUpdate();
sessionHiberante.getTransaction().commit();
}
/**
* 功能:更新文章
* 参数articleName为文章标题,参数articleAuthor为文章作者,
* 参数channelId为栏目ID号,参数articleContent为文章内容,
* 参数articleId为要更新的文章ID号
*/
public static void updateArticle(String articleName,String articleAuthor,
int channelId,String articleContent,long articleId){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("update Article set articleName='"+
articleName+"',articleAuthor='"+articleAuthor+"',"+
"channelId="+channelId+",articleContent='"+articleContent+
"' where articleId="+articleId);
Query query = sessionHiberante.createQuery(hqlStr);
query.executeUpdate();
sessionHiberante.getTransaction().commit();
}
/**
* 功能:统计查询article表带有指定的where子句时的记录条数
* 参数HQLWhere为where子句
* 返回统计的记录条数
*/
public static int countArticleInWhere(String HQLWhere){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("select count(*) as countArticle "+
" from Article "+HQLWhere);
int count=((Long)(sessionHiberante.createQuery(hqlStr).iterate().next())).intValue();
sessionHiberante.getTransaction().commit();
return count;
}
/**
* 功能:用指定的where子句找出当前页数据
* 参数HQLWhere为指定的where子句,参数recordCount为总记录条数,
* 参数pageSize为每页记录条数,参数currentPageNo为当前页码
* 返回当前页数据的列表
*/
public static ArrayList findCurrentPage(String HQLWhere,
int recordCount,int pageSize,int currentPageNo){
Session sessionHiberante=HibernateUtil.getSession();
sessionHiberante.beginTransaction();
String hqlStr=new String("from Article "+HQLWhere);
Query query=sessionHiberante.createQuery(hqlStr);
query.setFirstResult(pageSize*(currentPageNo-1));
query.setMaxResults(pageSize);
ArrayList resultArticle =
(ArrayList)query.list();
sessionHiberante.getTransaction().commit();
return resultArticle;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于Struts2+Hibernate3的在线文章发布系统
共181个文件
jar:50个
class:42个
java:21个
5星 · 超过95%的资源 需积分: 9 49 下载量 144 浏览量
2011-06-10
17:11:41
上传
评论
收藏 13.62MB 7Z 举报
温馨提示
系统分为前台和后台,在管理后台发布文章,在前台页面展示管理后台发布的文章。前台模块的功能有首页、栏目文章页、文章显示页。后台管理模块的功能有文章管理、栏目管理、用户管理。 数据库使用的SQL Server,库文件详见db文件夹。src目录为Java类的源代码,WebContent为Web应用的所有文件。
资源推荐
资源详情
资源评论
收起资源包目录
基于Struts2+Hibernate3的在线文章发布系统 (181个子文件)
ArticleOP.class 5KB
ArticleOP.class 5KB
UpdateArticleEditAction.class 3KB
UpdateArticleListAction.class 3KB
UpdateArticleEditAction.class 3KB
UpdateArticleListAction.class 3KB
AdminUserOP.class 3KB
AdminUserOP.class 3KB
AddArticleAction.class 2KB
AddArticleAction.class 2KB
UserAdminAction.class 2KB
UserAdminAction.class 2KB
ChannelAction.class 2KB
ChannelAction.class 2KB
ChannelAdminAction.class 2KB
ChannelAdminAction.class 2KB
ModiPasswordAction.class 2KB
Article.class 2KB
Article.class 2KB
ModiPasswordAction.class 2KB
LoginAction.class 2KB
LoginAction.class 2KB
ChannelOP.class 2KB
ChannelOP.class 2KB
HibernateUtil.class 2KB
ArticleAction.class 2KB
IndexAction.class 2KB
HibernateUtil.class 2KB
ArticleAction.class 2KB
IndexAction.class 2KB
AdminUser.class 1KB
AdminUser.class 1KB
AddArticleEditAction.class 1KB
AddArticleEditAction.class 1KB
Channel.class 1KB
Channel.class 1KB
DBConnection.class 952B
DBConnection.class 907B
SQLUtil.class 871B
SQLUtil.class 844B
DelArticleAction.class 792B
DelArticleAction.class 792B
.classpath 666B
org.eclipse.wst.common.component 460B
org.eclipse.wst.jsdt.ui.superType.container 49B
gif2.gif 51KB
gif1.gif 43KB
gif4.gif 39KB
gif3.gif 37KB
blankSpace.gif 836B
nonFolder.gif 199B
openFolder.gif 167B
closedFolder.gif 161B
noChildrenMidNode.gif 147B
noChildrenLastNode.gif 142B
verticalLine.gif 140B
collapsedMidNode.gif 133B
collapsedLastNode.gif 130B
expandedLastNode.gif 125B
expandedMidNode.gif 97B
hibernate3.jar 2.31MB
xwork-core-2.1.6.jar 1.49MB
checkstyle-all.jar 1.15MB
xerces-2.6.2.jar 987KB
freemarker-2.3.15.jar 859KB
struts2-core-2.1.8.1.jar 738KB
c3p0-0.9.1.jar 594KB
javassist-3.9.0.GA.jar 583KB
commons-collections-3.2.jar 558KB
struts2-embeddedjsp-plugin-2.1.8.1.jar 528KB
proxool-0.8.3.jar 465KB
jstl-1.2.jar 405KB
standard.jar 384KB
log4j-1.2.14.jar 359KB
dom4j-1.6.1.jar 307KB
jtds.jar 288KB
cglib-2.2.jar 272KB
commons-lang-2.3.jar 240KB
ognl-2.7.3.jar 234KB
jaxen-1.1-beta-7.jar 222KB
ehcache-1.2.3.jar 203KB
jenkov-prizetags-bin-3.4.0.jar 172KB
concurrent-1.3.2.jar 167KB
commons-digester-2.0.jar 145KB
cleanimports.jar 139KB
syndiag2.jar 139KB
commons-validator-1.3.1.jar 136KB
xml-apis.jar 121KB
oscache-2.1.jar 112KB
jaas.jar 102KB
commons-chain-1.2.jar 90KB
servlet-api.jar 86KB
commons-io-1.3.2.jar 86KB
oro-2.0.8.jar 64KB
struts2-convention-plugin-2.1.8.1.jar 60KB
commons-fileupload-1.2.1.jar 56KB
commons-logging-api-1.1.jar 44KB
commons-logging-1.0.4.jar 37KB
classworlds-1.1.jar 37KB
swarmcache-1.0rc2.jar 30KB
共 181 条
- 1
- 2
资源评论
- u0129004202014-05-08感觉楼上说的对 有点假
- TomcatHelloWorld2014-04-25太假了,里面就是一个类的堆砌,好失望
ChangeZ_
- 粉丝: 7
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CheckedElectricalLiftHouseController.java
- (源码)基于Python和MySQL的数据库管理系统.zip
- (源码)基于Python的通信系统误码率计算与可视化工具.zip
- (源码)基于Qt框架的海王网咖管理系统.zip
- (源码)基于Spring Boot和Material You设计语言的论坛管理系统.zip
- (源码)基于Nio的Mycat 2.0数据库代理系统.zip
- 通过go语言实现单例模式(Singleton Pattern).rar
- 通过python实现简单贪心算法示例.rar
- C语言中指针基本概念及应用详解
- (源码)基于Websocket和C++的咖啡机器人手臂控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功