FolderDaoImpl.java
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.folder.dao;
  2. import java.util.Iterator;
  3. import java.util.List;
  4. import org.apache.commons.beanutils.BeanUtils;
  5. import org.hibernate.Query;
  6. import org.hibernate.Session;
  7. import org.hibernate.SessionFactory;
  8. import org.hibernate.Transaction;
  9. import com.oa.module.folder.bean.FolderBean;
  10. import com.oa.module.folder.filemapping.Tfile;
  11. import com.oa.module.folder.fordermapping.Tforder;
  12. public class FolderDaoImpl implements FolderDao{
  13. private SessionFactory sf;
  14. /**
  15.  *根据用户id获取用户文件夹列表
  16.  */
  17. public List getUserFolder(String id) {
  18. Session session = null;
  19. Query query = null;
  20. List list = null;
  21. String hql = "select a from Tforder a where a.userid=:userid and a.fatherid<>"+"0";
  22. try {
  23. session  = sf.openSession();
  24. query = session.createQuery(hql);
  25. query.setParameter("userid", id);
  26. list = query.list();
  27. session.flush();
  28. } catch (Exception e) {
  29. e.printStackTrace();
  30. }finally{
  31. session.close();
  32. sf.close();
  33. }
  34. return list;
  35. }
  36. public SessionFactory getSf() {
  37. return sf;
  38. }
  39. public void setSf(SessionFactory sf) {
  40. this.sf = sf;
  41. }
  42. /**
  43.  * 添加文件夹
  44.  */
  45. public boolean addnewForder(FolderBean bean) {
  46. Session session = null; 
  47. Transaction tx = null;
  48. Tforder forder = null;
  49. try {
  50. session = sf.openSession();
  51. tx = session.beginTransaction();
  52. forder = new Tforder();
  53. BeanUtils.copyProperties(forder, bean);
  54. session.save(forder);
  55. tx.commit();
  56. session.flush();
  57. return true;
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. tx.rollback();
  61. }finally{
  62. session.close();
  63. sf.close();
  64. }
  65. return false;
  66. }
  67. /**
  68.  * 获取父文件夹
  69.  * @param userid
  70.  * @param username
  71.  */
  72. public FolderBean getFatherForderByUserName(String userid, String username) {
  73. Session session = null;
  74. Query query = null;
  75. FolderBean bean = null;
  76. String hql = "select a from Tforder a where a.fordername=:fordername";
  77. try {
  78. session = sf.openSession();
  79. query = session.createQuery(hql);
  80. query.setParameter("fordername", username+","+userid);
  81. List list = query.list();
  82. Tforder forder = (Tforder)list.get(0);
  83. bean = new FolderBean();
  84. BeanUtils.copyProperties(bean, forder);
  85. } catch (Exception e) {
  86. e.printStackTrace();
  87. } finally{
  88. session.close();
  89. sf.close();
  90. }
  91. return bean;
  92. }
  93. /**
  94.  * 修改文件夹名称
  95.  * @param forderid
  96.  * @param fordername
  97.  */
  98. public boolean uploadForder(String forderid, String fordername) {
  99. Session session = null;
  100. Transaction tx = null;
  101. try {
  102. session = sf.openSession();
  103. tx = session.beginTransaction();
  104. Tforder forder = (Tforder)session.get(Tforder.class, forderid);
  105. forder.setVirtualfordername(fordername);
  106. session.update(forder);
  107. tx.commit();
  108. session.flush();
  109. return true;
  110. } catch (Exception e) {
  111. e.printStackTrace();
  112. tx.rollback();
  113. }finally{
  114. session.close();
  115. sf.close();
  116. }
  117. return false;
  118. }
  119. /**
  120.  * 判断文件夹是否存在
  121.  * @param forderid
  122.  * @param fordername
  123.  */
  124. public boolean isExist(String forderid, String fordername) {
  125. Session session = null;
  126. try {
  127. session = sf.openSession();
  128. Tforder forder = (Tforder)session.get(Tforder.class, forderid);
  129. if(forder.getFordername().equals(fordername))
  130. return true;
  131. } catch (Exception e) {
  132. e.printStackTrace();
  133. } finally{
  134. session.close();
  135. sf.close();
  136. }
  137. return false;
  138. }
  139. /**
  140.  * 删除文件夹
  141.  * @param forderid
  142.  */
  143. public boolean delForder(String forderid) {
  144. Session session = null;
  145. Transaction tx = null;
  146. try {
  147. session = sf.openSession();
  148. tx = session.beginTransaction();
  149. Tforder forder = (Tforder)session.load(Tforder.class, forderid);
  150. session.delete(forder);
  151. tx.commit();
  152. session.flush();
  153. return true;
  154. } catch (Exception e) {
  155. e.printStackTrace();
  156. tx.rollback();
  157. }finally{
  158. session.close();
  159. sf.close();
  160. }
  161. return false;
  162. }
  163. /**
  164.  * 获取文件夹
  165.  * @param forderid
  166.  */
  167. public FolderBean getForderByForderId(String forderid) {
  168. Session session = null;
  169. FolderBean bean = null;
  170. try {
  171. session = sf.openSession();
  172. Tforder forder = (Tforder)session.get(Tforder.class, forderid);
  173. bean = new FolderBean();
  174. BeanUtils.copyProperties(bean , forder);
  175. } catch (Exception e) {
  176. e.printStackTrace();
  177. }finally{
  178. session.close();
  179. sf.close();
  180. }
  181. return bean;
  182. }
  183. /**
  184.  * 根据文件夹id删除文件表
  185.  */
  186. public boolean delFileByForderId(String forderid) {
  187. String hql = "select a from Tfile a where a.forderid=:forderid";
  188. Session session = null;
  189. Transaction tx = null;
  190. Query query = null;
  191. try {
  192. session  = sf.openSession();
  193. tx = session.beginTransaction();
  194. query = session.createQuery(hql);
  195. query.setParameter("forderid", forderid);
  196. List list = query.list();
  197. for (Iterator iter = list.iterator(); iter.hasNext();) {
  198. Tfile element = (Tfile) iter.next();
  199. Tfile file = (Tfile)session.load(Tfile.class, element.getFileid());
  200. session.delete(file);
  201. }
  202. tx.commit();
  203. return true;
  204. } catch (Exception e) {
  205. e.printStackTrace();
  206. tx.rollback();
  207. }finally{
  208. session.close();
  209. sf.close();
  210. }
  211. return false;
  212. }
  213. }