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

📄 articlesviewsdaoimpl.java

📁 前期开发时开发的新闻发布系统
💻 JAVA
字号:
package com.xh369.daoimpl;

import java.util.List;
import org.hibernate.Query;
import org.hibernate.criterion.Example;
import com.xh369.dto.Articlesviews;
import com.xh369.dto.ArticlesviewsId;
import org.hibernate.*;
import com.xh369.dao.ArticlesviewsDAO;
import com.xh369.actions.HibernateSessionFactory;

public class ArticlesviewsDAOimpl implements ArticlesviewsDAO
{

    //按视图主键查询
    public Articlesviews findById(ArticlesviewsId id) 
    {
        try 
        {
            Session session = HibernateSessionFactory.getSession();
            Articlesviews instance = (Articlesviews) session.get("com.xh369.dto.Articlesviews", id);
            return instance;
        } 
        catch(RuntimeException re) 
        {
            throw re;
        }
    }

    //按视图实例类查询(采用Criteria编程)
    public List findByExample(Articlesviews instance) 
    {
        try 
        {
            Session session = HibernateSessionFactory.getSession();
            List results = session.createCriteria("com.xh369.dto.Articlesviews")
                                  .add(Example.create(instance))
                                  .list();
            return results;
        } 
        catch(RuntimeException re) 
        {
            throw re;
        }
    }

    //按视图编号查询
    public List findByPropertyId(String propertyName, Object value) 
    {
        try 
        {	
        	String hql = "from Articlesviews as articlesviews where articlesviews." + propertyName + "= ?";
        	Session session = HibernateSessionFactory.getSession();
        	List results = session.createQuery(hql)
        						  .setParameter(0, value)
        						  .list();
        	return results;
        } 
        catch(RuntimeException re) 
        {
        	throw re;
        }
    }

    //用于分页查询(其中int position_index, int pageSize分别为起始索引和页大小)
    public List findByProperty(Object[][] val, int position_index, int pageSize) 
    {
        try 
        {
        	StringBuffer hql = new StringBuffer("from Articlesviews as articlesviews");
        	if(Integer.parseInt(val[0][1].toString()) == 0 && !val[1][1].toString().equals("")) hql.append(" where lower(articlesviews." + val[1][0].toString() + ") like '%"+val[1][1].toString().toLowerCase()+"%'");
        	if(Integer.parseInt(val[0][1].toString()) != 0 && !val[1][1].toString().equals("")) hql.append(" where articlesviews." + val[0][0].toString() + "=? or lower(articlesviews." + val[1][0].toString() +") like '%"+val[1][1].toString().toLowerCase()+"%'");
        	if(Integer.parseInt(val[0][1].toString()) != 0 && val[1][1].toString().equals("")) hql.append(" where articlesviews." + val[0][0].toString() + "=?");
        	if(!val[2][1].toString().equals("") && !val[3][1].toString().equals("")) hql.append(" where articlesviews." + val[2][0].toString() + "=? and articlesviews." + val[3][0].toString() + "=?");
        	Session session = HibernateSessionFactory.getSession();
        	Query query = session.createQuery(hql.toString());
        	if(Integer.parseInt(val[0][1].toString()) != 0 && !val[1][1].toString().equals("")) query.setParameter(0, val[0][1], Hibernate.INTEGER);
        	if(Integer.parseInt(val[0][1].toString()) != 0 && val[1][1].toString().equals("")) query.setParameter(0, val[0][1]);
        	if(!val[2][1].toString().equals("") && !val[3][1].toString().equals("")) query.setParameter(0, val[2][1], Hibernate.STRING)
        																				  .setParameter(1, val[3][1]);
        	if(position_index == 1)
        	{
        		return query.setFirstResult(0)
        					.setMaxResults(pageSize)
        					.list();
        	}
        	else
        	{
        		return query.setFirstResult( (position_index - 1) * pageSize )
                     		.setMaxResults(pageSize)
                     		.list();
        	}
        } 
        catch(RuntimeException re) 
        {
        	throw re;
        }
    }

    //得到分页查询的总记录数
    public int getCount(Object[][] val) 
    {
        try 
        {
            StringBuffer hql = new StringBuffer("select count(*) from Articlesviews as articlesviews");
            if(Integer.parseInt(val[0][1].toString()) == 0 && !val[1][1].toString().equals("")) hql.append(" where lower(articlesviews." + val[1][0].toString() + ") like '%"+val[1][1].toString().toLowerCase()+"%'");
            if(Integer.parseInt(val[0][1].toString()) != 0 && !val[1][1].toString().equals("")) hql.append(" where articlesviews." + val[0][0].toString() + "=? or lower(articlesviews." + val[1][0].toString() +") like '%"+val[1][1].toString().toLowerCase()+"%'");
            if(Integer.parseInt(val[0][1].toString()) != 0 && val[1][1].toString().equals("")) hql.append(" where articlesviews." + val[0][0].toString() + "=?");
            if(!val[2][1].toString().equals("") && !val[3][1].toString().equals("")) hql.append(" where articlesviews." + val[2][0].toString() + "=? and articlesviews." + val[3][0].toString() + "=?");
            Session session = HibernateSessionFactory.getSession();
            Query query = session.createQuery(hql.toString());
            if(Integer.parseInt(val[0][1].toString()) != 0 && !val[1][1].toString().equals("")) query.setParameter(0, val[0][1], Hibernate.INTEGER);
            if(Integer.parseInt(val[0][1].toString()) != 0 && val[1][1].toString().equals("")) query.setParameter(0, val[0][1]);
            if(!val[2][1].toString().equals("") && !val[3][1].toString().equals("")) query.setParameter(0, val[2][1], Hibernate.STRING)
                                                                                           .setParameter(1, val[3][1]);
            return Integer.parseInt(
                                      query.list()
                                           .get(0)
                                           .toString()
                                   );
        } 
        catch(Exception ex) 
        {
            ex.printStackTrace();
            return 0;
        }
    }
    
    //用于分页查询(其中int position_index, int pageSize分别为起始索引和页大小)
	public List findByProperty(int position_index, int pageSize) 
	{		
		try 
		{
			String hql = "from Articlesviews as articlesviews";
			Session session = HibernateSessionFactory.getSession();
			Query query = session.createQuery(hql);
			if(position_index == 1)
			{
	            return query.setFirstResult(0)
	            			.setMaxResults(pageSize)
	            			.list();
	        }
			else
			{				
				return query.setFirstResult( (position_index - 1) * pageSize )
							.setMaxResults(pageSize)
							.list();
	        }
		} 
		catch(Exception e) 
		{
			e.printStackTrace();
			return null;
		}
	}
	
	//得到分页查询的总记录数
	public int getCount() 
	{		
		 try 
		 {
	            String hql = "select count(*) from Articlesviews as articlesviews";
	            Session session = HibernateSessionFactory.getSession();
	            Query query = session.createQuery(hql);
	            return Integer.parseInt(
	                                      query.list()
	                                           .get(0)
	                                           .toString()
	                                   );
	     } 
		 catch(Exception ex) 
		 {
	            ex.printStackTrace();
	            return 0;
	     }
	}
}

⌨️ 快捷键说明

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