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

Jsp/Servlet

开发平台:

Java

  1. package com.oa.module.meet.meetroomdao;
  2. import java.util.List;
  3. import javax.sql.DataSource;
  4. import org.hibernate.Query;
  5. import org.hibernate.Session;
  6. import org.hibernate.SessionFactory;
  7. import org.springframework.jdbc.core.JdbcTemplate;
  8. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  9. import org.springframework.orm.hibernate3.HibernateTemplate;
  10. import com.oa.module.meet.hibernate.Tmeet;
  11. import com.oa.module.meet.hibernate.Tmeetroom;
  12. import com.oa.module.pub.ectomere.XPage;
  13. public class MeetRoomDao implements MeetRoomInterfer {
  14. private SessionFactory meetroom;
  15. private DriverManagerDataSource datasource;
  16. private DataSource ds = null;
  17. public DriverManagerDataSource getDatasource() {
  18. return datasource;
  19. }
  20. public void setDatasource(DriverManagerDataSource datasource) {
  21. this.datasource = datasource;
  22. }
  23. public SessionFactory getMeetroom() {
  24. return meetroom;
  25. }
  26. public void setMeetroom(SessionFactory meetroom) {
  27. this.meetroom = meetroom;
  28. }
  29. public XPage getItemlist(int currentPage, int count, Tmeetroom info) {
  30. String hql = "select a from Tmeetroom a where 1=1";
  31. String path = "/oa/meetroom.do?task=query&";
  32. XPage page = new XPage();
  33. // 开始设置xpage
  34. page.setCurrentPage(currentPage);
  35. page.setCount(count);
  36. // 动态的构建hql语句和xpage的pathrstate
  37. if (info != null) {
  38. if (info.getRmid() != 0 && info.getRmid()>0) {
  39. hql += " and a.rmid= :rmid";
  40. path += " rmid=" + info.getRmid() + "&";
  41. }
  42. if (info.getRname() != null && !info.getRname().trim().equals("")) {
  43. hql += " and a.rname like :rname";
  44. path += "rname=" + info.getRname() + "&";
  45. }
  46. if(info.getRstate()!=-1 && info.getRstate()>-1){
  47. hql += " and a.rstate= :rstate";
  48. path += " rstate=" +info.getRstate()+"&";
  49. }
  50. }
  51. // 设置分页路径
  52. page.setPath(path);
  53. Session session = null;
  54. Query query = null;
  55. List list = null;
  56. try {
  57. session = this.meetroom.openSession();
  58. query = session.createQuery(hql);
  59. // 设置查询参数
  60. if (info != null) {
  61. if (info.getRmid() != 0 && info.getRmid() > 0) {
  62. query.setParameter("rmid", new Long(info.getRmid()));
  63. }
  64. if (info.getRname() != null
  65. && !info.getRname().trim().equals("")) {
  66. query.setParameter("rname", "%" + info.getRname() + "%");
  67. }
  68. if(info.getRstate()!=-1 && info.getRstate()>-1){
  69. query.setParameter("rstate",new Long(info.getRstate()));
  70. }
  71. }
  72. // 获取总记录数
  73. int allcount = query.list().size();
  74. page.setAllCount(allcount);
  75. // 得到分页显示数据
  76. query.setFirstResult((currentPage - 1) * count);
  77. query.setMaxResults(count);
  78. list = query.list();
  79. page.setList(list);
  80. session.flush();
  81. } catch (Exception e) {
  82. e.printStackTrace();
  83. } finally {
  84. if (session != null) {
  85. session.close();
  86. }
  87. }
  88. return page;
  89. }
  90. public List addrlist() {
  91. List list = null;
  92. JdbcTemplate tem = null;
  93. try {
  94. tem = new JdbcTemplate(this.ds);
  95. String sql = "select pid,pname from tparam where tid='4'";
  96. list = tem.queryForList(sql);
  97. } catch (Exception e) {
  98. list = null;
  99. e.printStackTrace();
  100. }
  101. return list;
  102. }
  103. public DataSource getDs() {
  104. return ds;
  105. }
  106. public void setDs(DataSource ds) {
  107. this.ds = ds;
  108. }
  109. public boolean great(Tmeetroom room) {
  110. HibernateTemplate ht = null;
  111. try {
  112. ht = new HibernateTemplate(this.meetroom);
  113. ht.save(room);
  114. return true;
  115. } catch (Exception e) {
  116. e.printStackTrace();
  117. }
  118. return false;
  119. }
  120. public boolean update(Tmeetroom room) {
  121. HibernateTemplate ht = null;
  122. try {
  123. ht = new HibernateTemplate(this.meetroom);
  124. ht.update(room);
  125. return true;
  126. } catch (Exception e) {
  127. e.printStackTrace();
  128. }
  129. return false;
  130. }
  131. public Tmeetroom getlistroom(long rmid) {
  132. Tmeetroom room = null;
  133. HibernateTemplate ht = null;
  134. try {
  135. ht = new HibernateTemplate(this.meetroom);
  136. room = (Tmeetroom) ht.get(Tmeetroom.class, new Long(rmid));
  137. } catch (Exception e) {
  138. e.printStackTrace();
  139. }
  140. return room;
  141. }
  142. /**
  143.  * 查找已存在的会议室名
  144.  */
  145. public boolean selectname(String name) {
  146. boolean flag=false;
  147. List list=null;
  148. JdbcTemplate template=null;
  149. String sql=null;
  150. try {
  151. template=new JdbcTemplate(this.ds);
  152. sql="select * from tmeetroom t where t.rname='"+name+"'";
  153. list =template.queryForList(sql);
  154. if(list.size()>0){
  155. flag=true;
  156. }
  157. } catch (Exception e) {
  158. list=null;
  159. e.printStackTrace();
  160. }
  161. return flag;
  162. }
  163. public boolean updatestats(Tmeetroom room) {
  164. Session session = null;
  165. String hql = null;
  166. Query query = null;
  167. try {
  168. session = this.meetroom.openSession();
  169. hql = "update Tmeetroom set rstate='2' where rmid="+room.getRmid();
  170. query = session.createQuery(hql);
  171. query.executeUpdate();
  172. session.flush();
  173. return true;
  174. } catch (Exception e) {
  175. e.printStackTrace();
  176. } finally {
  177. session.close();
  178. }
  179. return false;
  180. }
  181. public boolean updatestats2(Tmeetroom room) {
  182. System.out.println(room.getRmid());
  183. Session session = null;
  184. String hql = null;
  185. Query query = null;
  186. try {
  187. session = this.meetroom.openSession();
  188. hql = "update Tmeetroom set rstate='0' where rmid="+room.getRmid();
  189. query = session.createQuery(hql);
  190. query.executeUpdate();
  191. return true;
  192. } catch (Exception e) {
  193. e.printStackTrace();
  194. } finally {
  195. session.close();
  196. }
  197. return false;
  198. }
  199. }