本帖最后由 szqfsx123 于 2010-05-28 12:13:18 编辑

解决方案 »

  1.   

    package com.yb.actionService;import java.util.List;
    import com.yb.dao.ObjectDAO;public class loginactionService {
    private ObjectDAO objectDAO;
    public ObjectDAO getObjectDAO() {
    return objectDAO;
    }
    public void setObjectDAO(ObjectDAO objectDAO) {
    this.objectDAO = objectDAO;
    }

    public boolean checkUser(String username)
    {
    String hql="from Userinfo as u where u.name = '"+username+"'";
    List userList=this.objectDAO.ObjectHqlSelect(hql);
    if(userList==null)
    {
    return false;
    }else
    {
    if (userList.size()>0) {
    return true;
    }else {
    return false;
    }
    }
    }
    public List checkPass(String username,String password)
    {
    String hql="from Userinfo as u where u.name='"+username+"' and u.userPassword='"+password+"'";
    List list=this.objectDAO.ObjectHqlSelect(hql);
    if(list==null)
    {
    return null;
    }else
    {
    if (list.size()>0) {
    return list;
    }else {
    return null;
    }
    }
    }
    }
    package com.yb.dao;import java.io.Serializable;
    import java.util.List;import org.springframework.transaction.annotation.Propagation;
    import org.springframework.transaction.annotation.Transactional;import com.yb.bean.Page;public interface ObjectDAO { public void ObjectSave(Object object);

    public void ObjectSaveOrUpdate(Object object);

    public List ObjectHqlSelect(String hql); public List ObjectSqlSelect(String sql, String asname); /**
     * 目的:获取指定对象分页后的数据
     * @throws Exception 
     */
    public List getInfoList(String hql, Page page); /**
     * 目的:获取要分页的表的数据量(行数)
     * @throws Exception 
     * @throws Exception 
     */
    public int getTotalCount(String hql);
    public void ObjectUpdate(String hql);
    public void ObjectSQLUpdate(String Sql);
    public void ObjectDelete(Object object);
    public Object get(Class clazz, Serializable id);
    public void delete(Class clazz, Serializable id);
    public Object load(Class clazz, Serializable id);
    }
      

  2.   

    package com.yb.daoImpl;import java.io.Serializable;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;import org.hibernate.Hibernate;
    import org.hibernate.HibernateException;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.springframework.orm.hibernate3.HibernateCallback;
    import org.springframework.orm.hibernate3.HibernateTemplate;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.yb.bean.Page;
    import com.yb.dao.ObjectDAO;
    import com.yb.file.fileop;
    import com.yb.vo.Userinfo;public class DAOImpl extends HibernateDaoSupport implements ObjectDAO {
    public void ObjectSave(Object object) {
    try {
    this.getHibernateTemplate().save(object);
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectSave()异常").append(e.toString())));
    }

    public void ObjectSaveOrUpdate(Object object) {
    try {
    this.getHibernateTemplate().saveOrUpdate(object);
    } catch (Exception e) {
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectSaveOrUpdate()异常").append(e.toString())));
    }
    }
    public List ObjectHqlSelect(String hql) {
    try {
    Session session=this.getSession();
    Query query=session.createQuery(hql);
    List list=query.list();
    session.close();
    return list;
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectHqlSelect()异常").append(e.toString())));
    return null;
    }
    }
    public List ObjectSqlSelect(String sql,String asname) {
    // TODO Auto-generated method stub
    try {
    Session session=this.getSession();
    Query query=session.createSQLQuery(sql).addScalar(asname, Hibernate.INTEGER);
    List list=query.list();
    session.close();
    return list;
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectSqlSelect()异常").append(e.toString())));
    return null;
    }
    }
    public void ObjectDelete(Object object) {
    // TODO Auto-generated method stub
    try {
    this.getHibernateTemplate().delete(object);
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectDelete()异常").append(e.toString())));
    }
    }
    public void ObjectUpdate(String hql) {
    // TODO Auto-generated method stub
    try {
    Session session=this.getSession();
    Query query=session.createQuery(hql);
    query.executeUpdate();
    session.close();
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectUpdate()异常").append(e.toString())));
    }

    }

    public void ObjectSQLUpdate(String Sql) {
    // TODO Auto-generated method stub
    try {
    Session session=this.getSession();
    session.connection().createStatement().executeUpdate(Sql);
    session.close();
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中OObjectSQLUpdate()异常").append(e.toString())));
    }
    }

    public Object ObjectFindById(Object object,int id) {
    // TODO Auto-generated method stub
    try {
    return this.getHibernateTemplate().get((Class) object, id);
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectFindById异常").append(e.toString())));
    return null;
    }
    }

    public List ObjectFindAll(Object object) {
    // TODO Auto-generated method stub
    try {
    return this.getHibernateTemplate().findByExample(object);
    } catch (Exception e) {
    // TODO: handle exception
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中ObjectFindAll()异常").append(e.toString())));
    return null;
    }
    }

    /**
     * 目的:获取指定对象分页后的数据
     * @throws Exception 
     */
    public List getInfoList(String hql, Page page){
    List dataList = null;
    try {
    Session session = this.getSession();
    Query query = null;
    query = session.createQuery(hql);
    query.setFirstResult(page.getBeginIndex());
    query.setMaxResults(page.getEveryPage());
    dataList = query.list();
    session.close();
    } catch (RuntimeException re) {
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中getInfoList()异常").append(re.toString())));

    return dataList;
    }
    /**
     * 目的:获取要分页的表的数据量(行数)
     * @throws Exception 
     * @throws Exception 
     */
    public int getTotalCount(String hql){
    int count = 0;
    Session session = null;
    try {
    session = this.getSession();
    count = session.createQuery(hql).list().size();
    } catch (RuntimeException re) {
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中getTotalCount()异常").append(re.toString())));

    session.close();
    return count;
    }
     public void update(Object object) {
     try {
     this.getHibernateTemplate().update(object);
     }catch(Exception e)
     {
     fileop.debug(String.valueOf(new StringBuffer("DAOImpl中update(Object object)异常").append(e.toString())));
     }
     }
     public void updateByQuery(final String queryString,final Object[] parameters) 
     {
     try{
     this.getHibernateTemplate().execute
     (new HibernateCallback() 
      {
     public Object doInHibernate(Session session) 
     {
     Query query = session.createQuery(queryString);
     if (parameters != null) 
     {
     for (int i = 0; i < parameters.length; i++) 
     {
     query.setParameter(i, parameters[i]);
     }
     }
     query.executeUpdate();
     return null;
     }
      }
     );
     }catch(Exception e)
     {
     fileop.debug(String.valueOf(new StringBuffer("DAOImpl中updateByQuery(final String queryString,final Object[] parameters)异常").append(e.toString())));
     }
     }
     public void delete(Class clazz, Serializable id) {
    try{
     this.getHibernateTemplate().delete(load(clazz, id));
    }catch(Exception e)
    {
    fileop.debug(String.valueOf(new StringBuffer("DAOImpl中delete(Class clazz, Serializable id)异常").append(e.toString())));
    }
     }  public Integer deleteAll(final Class clazz) {
      try{
     return (Integer) this.getHibernateTemplate().execute(
        new HibernateCallback() {
         public Object doInHibernate(Session session) {
          Query query = session.createQuery("delete "+ clazz.getName());
          return new Integer(query.executeUpdate());
         }
        });
      }catch(Exception e)
      {
     fileop.debug(String.valueOf(new StringBuffer("DAOImpl中deleteAll(final Class clazz)异常").append(e.toString())));
     return null;
      }
     }  public List findAll(Class clazz) {
    try{
     return this.getHibernateTemplate().find("from " + clazz.getName());
      }catch(Exception e)
      {
      fileop.debug(String.valueOf(new StringBuffer("DAOImpl中findAll(Class clazz)异常").append(e.toString())));
      return null;
      }
     }  public Object load(Class clazz, Serializable id) {
      try{
     return this.getHibernateTemplate().load(clazz, id);
      }catch(Exception e)
      {
      fileop.debug(String.valueOf(new StringBuffer("DAOImpl中load(Class clazz, Serializable id)异常").append(e.toString())));
      return null;
      }
     }  public Object get(Class clazz, Serializable id) {
    try{
     return this.getHibernateTemplate().get(clazz, id);
       }catch(Exception e)
      {
     fileop.debug(String.valueOf(new StringBuffer("DAOImpl中get(Class clazz, Serializable id)异常").append(e.toString())));
     return null;
      }
     }  public List findByNamedQuery(final String queryName) {
      try{
     return this.getHibernateTemplate().findByNamedQuery(queryName);
      }catch(Exception e)
      {
      fileop.debug(String.valueOf(new StringBuffer("DAOImpl中findByNamedQuery(final String queryName)异常").append(e.toString())));
      return null;
      }
     }  public List findByNamedQuery(final String queryName, final Object parameter) {
      try{
    return this.getHibernateTemplate().findByNamedQuery(queryName, parameter);
      }catch(Exception e)
      {
      fileop.debug(String.valueOf(new StringBuffer("DAOImpl中findByNamedQuery(final String queryName, final Object parameter)异常").append(e.toString())));
      return null;
      }
     }  public List findByNamedQuery(final String queryName,final Object[] parameters) {
      try{
     return this.getHibernateTemplate().findByNamedQuery(queryName, parameters);
      }catch(Exception e)
      {
      fileop.debug(String.valueOf(new StringBuffer("DAOImpl中findByNamedQuery(final String queryName,final Object[] parameters)异常").append(e.toString())));
      return null;
      }
     }
    }