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

📄 tools.java

📁 hibernate+spring的相片上传项目
💻 JAVA
字号:
package org.lenovoAC.tools;

import java.util.*;
import java.io.FileInputStream;
import org.springframework.orm.hibernate.HibernateTemplate;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate.HibernateTemplate;
import org.springframework.orm.hibernate.LocalSessionFactoryBean;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import javax.servlet.ServletContext;
import org.lenovoAC.hibernateDao.BaseDao;
import org.springframework.orm.hibernate.HibernateCallback;
import net.sf.hibernate.Query;
import org.lenovoAC.Page.Page;
import net.sf.hibernate.HibernateException;
import java.sql.SQLException;
import net.sf.hibernate.Session;
import javax.servlet.http.HttpServletRequest;

public class Tools
    extends BaseDao
{
  /**
   * 得到指定xml文件,指定bean名实例
   * @param fileName String
   * @param beanNameInXml String
   * @return Object
   */
  public static Object getBean(String fileName, String beanNameInXml)
  {
    ApplicationContext context = new FileSystemXmlApplicationContext(fileName);
    Object object = context.getBean(beanNameInXml);
    return object;
  }

  /**
   * 取得web应用中加载的Spring Bean实例
   * @param beanName String
   * @param sc ServletContext
   * @return Object
   */
  public static Object getWebBean(String beanName, ServletContext sc)
  {
    ApplicationContext ctx = WebApplicationContextUtils.
        getRequiredWebApplicationContext(sc);
    Object object = ctx.getBean(beanName);
    return object;
  }

  /**
   * 取得web应用中加载的Spring Bean实例
   * @param beanName String
   * @param request HttpServletRequest
   * @return Object
   */
  public static Object getWebBean(String beanName, HttpServletRequest request)
  {
    ApplicationContext ctx = WebApplicationContextUtils.
        getRequiredWebApplicationContext(request.getSession().getServletContext());
    Object object = ctx.getBean(beanName);
    return object;
  }

  /**
   * 排空方法
   * @param str String
   * @return String
   */
  public static String nouNull(String str)
  {
    if (str == null)
    {
      str = "";
    }
    return str;
  }

  /**
   * 转换字符乱码
   * @param str String
   * @return String
   */
  public static String toIso(String str)
  {
    try
    {
      if (str == null)
      {
        str = "";
      }
      str = new String(str.getBytes("ISO-8859-1"));
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
    return str;
  }

  /**
   * 排空与转码
   * @param str String
   * @return String
   */
  public static String toIsoAndNotNull(String str)
  {
    try
    {
      if (str == null)
      {
        str = "";
      }
      str = new String(str.getBytes("ISO-8859-1"));
    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
    return str;
  }

  /**
   *
   * @param b byte[]
   * @param size int
   * @return byte[]
   */
  public static byte[] add(byte[] b, int size)
  {
    byte[] temp = new byte[b.length + size];
    for (int i = 0; i < b.length; i++)
    {
      temp[i] = b[i];
    }
    return temp;
  }

  /**
   * 返回javascript的打开窗口的字符串
   * @param url
   * @return
   */
  public static String open(String url)
  {
    return "window.open('"
        + url
        +
        "','window','location=no,resizable=1,menubar=no,toolbar=yes,status=yes')";
  }

  /**
   * 返回javascript的打开窗口的字符串
   * @param url
   * @param winname
   * @param width
   * @param height
   * @return
   */
  public static String open(String url, String width, String height)
  {
    return "window.open('"
        + url
        + "','windows','menubar=no,scrollbars=yes,width="
        + width
        + "px,height="
        + height
        + "px');";
  }

  /**
   * 打开一个对话框的javascript
   * @param url
   * @param width
   * @param height
   * @return
   */
  public static String dialog(String url, String width, String height)
  {
    return "window.showModelessDialog( '"
        + url
        + "', 0, 'dialogHeight:"
        + height
        + "px;dialogWidth:"
        + width
        + "px;resizable:no;help:no;scroll:0;status:no' );";
  }

  public static String alert(String str)
  {
    return "<script>alert('" + str + "')</script>";
  }

  /**
   * 将数据插入数据库时调用的方法
   * Escape HTML tags.
   * @param input string to replace
   * @return string
   */
  public static String escapeHTMLTags(String input)
  {
    if (input == null || input.length() == 0)
    {
      return input;
    }
    StringBuffer buf = new StringBuffer();
    char ch = ' ';
    for (int i = 0; i < input.length(); i++)
    {
      ch = input.charAt(i);
      if (ch == '<')
      {
        buf.append("&lt;");
      }
      else
      if (ch == '>')
      {
        buf.append("&gt;");
      }
      else
      if (ch == '&')
      {
        buf.append("&amp;");
      }
      else
      if (ch == '"')
      {
        buf.append("&quot;");
      }
      else
      {
        buf.append(ch);
      }
    }
    return buf.toString();
  }

  /**
   *指定字符串替换
   * @param line  串值字符
   * @param oldStr 要替换的串值
   * @param newStr 目标串值
   * @return 返回替换后的字符串
   * @throws java.lang.Exception
   */
  public static String replace(
      String mainString,
      String oldString,
      String newString)
  {
    if (mainString == null)
    {
      return null;
    }
    int i = mainString.lastIndexOf(oldString);
    if (i < 0)
    {
      return mainString;
    }
    StringBuffer mainSb = new StringBuffer(mainString);
    while (i >= 0)
    {
      mainSb.replace(i, i + oldString.length(), newString);
      i = mainString.lastIndexOf(oldString, i - 1);
    }
    return mainSb.toString();
  }

  /**
   * Convert new lines, \n or \r\n to <BR />.
   * @param input string to convert
   * @return string
   */
  public static String convertNewlines(String input)
  {
    input = replace(input, "\r\n", "\n");
    input = replace(input, "\n", "<BR/>");
    input = replace(input, " ", "&nbsp;");
    return input;
  }
  /**
   *
   * @param request HttpServletRequest
   * @param paramName String
   * @return String
   */
  public String getString(HttpServletRequest request,String paramName)
  {
    return toIsoAndNotNull(request.getParameter(paramName));
  }

  /**
   * @param str String[]
   * @return boolean
   * true:允许格式
   * false:不允许格式
   */
  public static boolean allowExt(String fileExt, String[] str)
  {
    boolean falg = false;
    for (int i = 0; i < str.length; i++)
    {
      if (str[i].equalsIgnoreCase(fileExt))
      {
        falg = true;
      }
    }
    return falg;
  }

  /**
   * 取得记录总数
   * @param page Page
   * @return int
   */

  public int getRecordCount(final String countHql) throws Exception
  {
    Integer in = null;
    try
    {
      Query query = this.getHibernateTemplate().createQuery(this.getSession(),
          countHql);
      in = (Integer) query.list().get(0);
    }
    catch (Exception e)
    {
      e.printStackTrace();
      throw new Exception("传入countHql格式不对!" + e);
    }
    return in.intValue();
  }

  /**
   * 分页
   * @param page Page
   * @return List
   */
  public List getHelperList(final Page page)
  {
    return getHibernateTemplate().executeFind(new HibernateCallback()
    {
      public Object doInHibernate(Session session) throws HibernateException,
          SQLException
      {
        Query query = session.createQuery(page.getHql());
        query.setFirstResult(page.getFirstResult());
        query.setMaxResults(page.getPageSize());
        return query.list();
      }
    });
  }

  /**
   * 分页方法
   * @param entityName 实体名字
   * @param request HttpServletRequest
   * @return Iterator
   */
  public Iterator getPageIterator(String curPageStr,
                                  int PageSize, String queryHql) throws
      Exception
  {
    int curPage = 0;
    if (curPageStr.equals("") || curPageStr == null)
    {
      curPage = 1;
    }
    else
    {
      curPage = Integer.parseInt(curPageStr);
    }
    Page pa = new Page();
    pa.setQueryHql(queryHql);
    pa.setCurPage(curPage);
    pa.setPageSize(PageSize);
    pa.setRecordCount(getRecordCount("select count(*) as cou from (" + queryHql +
                                     ")")); //记录总数

    List list = getHelperList(pa);
    Iterator it = list.iterator();
    return it;
  }
}

⌨️ 快捷键说明

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