67,513
社区成员
发帖
与我相关
我的任务
分享
public class BaseDAO {
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public Session getSession() {
Session session = sessionFactory.openSession();
return session;
}
}
public Integer countBack(int forum_id) {
Session session = getSession();
String hql = "select forum.countback from Forum forum where forum.id=?";
Query query = session.createQuery(hql);
query.setParameter(0, forum_id);
List coutbacklist = query.list();
session.close();
int coutback = (Integer) coutbacklist.get(0);
return coutback;
}
public boolean delete(int reforum_id, int forum_id) {
try {
String hql = "delete from Reforum reforum where reforum.id="+reforum_id;
Session session = getSession();
Transaction tx = session.beginTransaction();
Query querydeleteReforum = session.createQuery(hql);
int b=querydeleteReforum.executeUpdate();
tx.commit();
session.close();
ForumDAO fdao = new ForumDAO();
int countback = fdao.countBack(forum_id);
fdao.removeCountBack(countback, forum_id);
if (b != 0) {
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public void deleteReforum(int reforum_id, int forum_id) {
try {
rfdao.delete(reforum_id, forum_id);
} catch (Exception e) {
e.printStackTrace();
}
}
public String deleteReforum() {
try {
//Map request = (Map) ActionContext.getContext().get("request");
forumservice.deleteReforum(Integer.parseInt(request.getParameter("reforum_id")),
Integer.parseInt(request.getParameter("forum_id")));
forum_id = Integer.parseInt(request.getParameter("forum_id"));
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
public Session getSession() {
Session session = sessionFactory.openSession();
return session;
}
public Session getSession() {
System.out.println(sessionFactory==null?"true":"false");
Session session = sessionFactory.openSession();
System.out.println(session==null?"true":"false");
return session;
}
// 计算回帖数目
public Integer countBack(int forum_id) {
Session session = getSession();
String hql = "select forum.countback from Forum forum where forum.id=?";
Query query = session.createQuery(hql);
query.setParameter(0, forum_id);
List countbacklist = query.list();
session.close();
int coutback = (Integer) countbacklist.get(0);
return coutback;
}
// 增加回帖数目
public Integer addCountBack(int countback, int forum_id) {
Session session = getSession();
String hql = "update Forum forum set forum.countback="
+ (countback + 1) + "where forum.id=" + forum_id;
Transaction tx = session.beginTransaction();
Query queryupdate = session.createQuery(hql);
queryupdate.executeUpdate();
tx.commit();
session.close();
return 0;
}
<bean id="baseDAO" class="sunyang.dao.BaseDAO" abstract="true">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userdao" class="sunyang.dao.impl.UserInfoDAO" parent="baseDAO"></bean>
<bean id="fdao" class="sunyang.dao.impl.ForumDAO" parent="baseDAO"></bean>
<bean id="rfdao" class="sunyang.dao.impl.ReforumDAO" parent="baseDAO"></bean>