Example #1
0
  /** 删除文件(一定要注意删除本地本件和删除数据库中数据的先后顺序) */
  @SuppressWarnings("unchecked")
  public int deleteFile(String delIds, HttpSession httpSession) {
    // 注意:要先找出这些文件,根据数据库中的数据进行本地文件的删除,若先删除数据库中的数据,就没有映射进行本地文件的删除了
    // 删除本地文件(即删除网盘中的文件)
    Query q =
        sessionFactory
            .getCurrentSession()
            .createQuery("from File file where file.id in (" + delIds + ")");
    ArrayList<File> files = (ArrayList<File>) q.list();
    String fileName;
    for (File file : files) {
      fileName = file.getLocation() + "a";
      FileUtil.deleteFile(fileName);
    }
    // 删除数据库中的映射
    Query queryu =
        sessionFactory
            .getCurrentSession()
            .createQuery("delete File file where file.id in (" + delIds + ")");
    queryu.executeUpdate();

    return 1;
  }