⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gongwendao.java

📁 本程序使用struts+hibernate实现的oa办公系统
💻 JAVA
字号:
package com.km.gongwen.data;

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

import com.km.util.*;

import java.util.*;
import java.sql.*;

/**
 * 本类的作用是对公文数据表进行操作。
 */
public class GongwenDAO {
  /**
   * 新增公文
   */
  public String createGongwen(Gongwen gongwen) {
    Session session = null;
    String id = "";
    try {
      SessionFactory sf = new Configuration().configure()
          .buildSessionFactory();
      session = sf.openSession();
      Transaction tx = session.beginTransaction();
      //新增记录
      id = (String) session.save(gongwen);
      tx.commit();
      session.close();
    }
    catch (HibernateException e) {
      sessionClose(session);
      e.printStackTrace();
    }
    finally {
      sessionClose(session);
    }
    return id;
  }

  /**
   * 修改记录
   */
  public void updateGongwen(Gongwen gongwen) {

    String sqlStr = "";
    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;
    String accessories = gongwen.getAccessories();
    if (accessories.equals(null)) {
      accessories = "";
    }
    if (!accessories.equals("")) {
      accessories = "1";
    }
    try {
      sqlStr = "update gongwen " + "set title = '" + gongwen.getTitle()
          + "'" + ",content='"
          + gongwen.getContent() + "'" + ",sendid='"
          + gongwen.getSendid() + "'" + ",ownerid='"
          + gongwen.getOwnerid() + "'" + ",sendname='"
          + gongwen.getSendname() + "'" + ",senddate='"
          + gongwen.getSenddate() + "'" + ",isread='0'"
          + ",issend='0'";
      if (!accessories.equals("")) {
        sqlStr = sqlStr + ",accessories='" + accessories + "' ";

      }
      sqlStr = sqlStr + " where universalid = '"
          + gongwen.getUniversalid() + "'";
      connection = com.db.ConnectionPool.getConnection();
      connection.setAutoCommit(false);
      statement = connection.createStatement();
      statement.executeUpdate(sqlStr);
      connection.commit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      connectionClose(connection, statement, resultSet);
    }
  }

  /**
   * 本方法是使用Hibernate更改公文
   * */
  public void updateGwbyHibernate(Gongwen gongwen) {
    Session session = null;
    try {
      SessionFactory sf = new Configuration().configure()
          .buildSessionFactory();
      session = sf.openSession();
      Transaction tx = session.beginTransaction();

      //修改记录
      session.update(gongwen);
      tx.commit();
      session.close();
    }
    catch (Exception e) {
      sessionClose(session);
      e.printStackTrace();
    }
    finally {
      sessionClose(session);
    }

  }

  /**
   * 本方法是查询所有已经接受到的公文。
   */
  public PageListData getAllgongwen(String ownerid, PageListData pageList) {
    String sqlStr = "";
    String addSql = " order by isread asc,senddate desc";
    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;
    try {
      sqlStr = "select * from gongwen where ownerid = '" + ownerid + "'";

      connection = com.db.ConnectionPool.getConnection();
      statement = connection.createStatement();
      PageQuery pageQuery = new PageQuery();
      resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
                                         pageList);
      for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
        Gongwen gongwen = new Gongwen();

        gongwen.setUniversalid(resultSet.getString("universalid"));
        gongwen.setOwnerid(resultSet.getString("ownerid"));
        gongwen.setSendid(resultSet.getString("sendid"));
        gongwen.setSendname(resultSet.getString("sendname"));
        gongwen.setTitle(resultSet.getString("title"));
        gongwen.setIsread(resultSet.getString("isread"));
        gongwen.setSenddate(resultSet.getString("senddate"));
        gongwen.setAccessories(resultSet.getString("accessories"));
        pageList.addData(gongwen);

      }

    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      connectionClose(connection, statement, resultSet);
    }
    return pageList;
  }

  /**
   * 按照条件查询公文记录
   */
  public PageListData getSomegongwen(String ownerid, Gongwen gongwen0,
                                     PageListData pageList) {
    String sqlStr = "";
    String addSql = " order by isread asc,senddate desc";
    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;
    try {
      sqlStr = "select * from gongwen where ownerid = '" + ownerid + "'";
      if (!gongwen0.getTitle().equals("")) {
        sqlStr = sqlStr + " and title like'%" + gongwen0.getTitle()
            + "%'";
      }
      if (!gongwen0.getSendname().equals("")) {
        sqlStr = sqlStr + " and sendname like '%"
            + gongwen0.getSendname() + "%'";
      }
      connection = com.db.ConnectionPool.getConnection();
      statement = connection.createStatement();
      PageQuery pageQuery = new PageQuery();
      resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
                                         pageList);
      for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
        Gongwen gongwen = new Gongwen();

        gongwen.setUniversalid(resultSet.getString("universalid"));
        gongwen.setOwnerid(resultSet.getString("ownerid"));
        gongwen.setSendid(resultSet.getString("sendid"));
        gongwen.setSendname(resultSet.getString("sendname"));
        gongwen.setTitle(resultSet.getString("title"));
        gongwen.setIsread(resultSet.getString("isread"));
        gongwen.setSenddate(resultSet.getString("senddate"));
        gongwen.setAccessories(resultSet.getString("accessories"));
        pageList.addData(gongwen);

      }

    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      connectionClose(connection, statement, resultSet);
    }

    return pageList;
  }

  /**
   * 1、按照标题查看公文的详细内容。
   * 2、在草稿箱中为修改公文而进行记录查询时,也用到此函数。
   *
   * @param universalid(公文标示符)
   */
  public Gongwen findGwbyTitle(String universalid) {
    Gongwen gongwen = new Gongwen();
    Session session = null;
    try {
      SessionFactory sf = new Configuration().configure()
          .buildSessionFactory();
      session = sf.openSession();
      //Transaction tx = session.beginTransaction();
      //查询记录
      Query query = session
          .createQuery("select a from Gongwen as a where a.universalid = '"
                       + universalid + "'");
      Iterator it = query.iterate();

      if (it.hasNext()) {
        gongwen = (Gongwen) it.next();

        //tx.commit();
      }
      session.close();

    }
    catch (HibernateException e) {
      sessionClose(session);
      e.printStackTrace();
    }
    finally {
      sessionClose(session);
    }

    return gongwen;
  }

  /**
   * 本方法是查询所有已经保存到草稿箱的公文。
   */
  public PageListData getAllSaved(String sendid, String issend,
                                  PageListData pageList) {
    String sqlStr = "";
    String addSql = " order by senddate desc";
    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;
    try {
      sqlStr = "select * from gongwen where sendid = '" + sendid
          + "' and issend = '" + issend + "'";

      connection = com.db.ConnectionPool.getConnection();
      statement = connection.createStatement();
      PageQuery pageQuery = new PageQuery();
      resultSet = pageQuery.sqlQueryPage(statement, sqlStr, addSql,
                                         pageList);
      for (int i = 0; i < pageList.getPageSize() && resultSet.next(); i++) {
        Gongwen gongwen = new Gongwen();

        gongwen.setUniversalid(resultSet.getString("universalid"));
        gongwen.setOwnerid(resultSet.getString("ownerid"));
        gongwen.setSendid(resultSet.getString("sendid"));
        gongwen.setSendname(resultSet.getString("sendname"));
        gongwen.setTitle(resultSet.getString("title"));
        gongwen.setIsread(resultSet.getString("isread"));
        gongwen.setSenddate(resultSet.getString("senddate"));
        gongwen.setAccessories(resultSet.getString("accessories"));
        pageList.addData(gongwen);

      }

    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      connectionClose(connection, statement, resultSet);
    }

    return pageList;
  }

  /**
   * 删除所选的公文。
   * */
  public void deleteGwbyUniversalid(String universalid) {
    Session session = null;
    try {
      SessionFactory sf = new Configuration().configure()
          .buildSessionFactory();
      session = sf.openSession();
      Transaction tx = session.beginTransaction();
      //删除记录
      session.delete("from Gongwen as gongwen where gongwen.universalid = '" +
                     universalid
                     + "'");

      tx.commit();
      session.close();
    }
    catch (Exception e) {
      sessionClose(session);
      e.printStackTrace();
    }
    finally {
      sessionClose(session);
    }
  }

  /***************************************************************************
   * 关闭数据库连接的通用方法
   */
  public void connectionClose(Connection connection, Statement statement,
                              ResultSet resultSet) {
    try {
      if (resultSet != null) {
        try {
          resultSet.close();
        }
        catch (SQLException e1) {
          e1.printStackTrace();
        }
      }
      if (statement != null) {
        try {
          statement.close();
        }
        catch (SQLException e1) {
          e1.printStackTrace();
        }
      }
      if (connection != null) {
        try {
          connection.close();
        }
        catch (SQLException e1) {
          e1.printStackTrace();
        }
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }

  /**
   * 关闭session
   */
  public void sessionClose(Session session) {
    if (session != null) {
      try {
        session.close();
      }
      catch (HibernateException e1) {
        e1.printStackTrace();
      }
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -