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

📄 hqlgenerator.java

📁 前不久作毕业设计的时候写的 用hql实现的分页 并且还有筛选、排序等功能。也许不够格但今天急需一个下载权限就上传了
💻 JAVA
字号:
package qinyi.beans;

import java.util.ArrayList;
import java.util.List;



public class HQLGenerator {

    public static void main(String[] args) {
        HQLGenerator hqlGenerator = new HQLGenerator();
        
        hqlGenerator.setClassName("OrderDetails");

        //List filters = new ArrayList();
        //List sorters = new ArrayList();
        //Filter filter = new Filter();
        hqlGenerator.setOperator("<");
        
        hqlGenerator.setValue("10");
        
        hqlGenerator.setColumn("id");
        hqlGenerator.setLogic("and");
        hqlGenerator.getWhereString();
        hqlGenerator.setColumn("orderId");
        
        hqlGenerator.setLogic("or");
        
        hqlGenerator.setOperator("<");
        hqlGenerator.setValue("2");
        //Filter filter1 = new Filter();


        hqlGenerator.setSortBy("1");
        hqlGenerator.setSortBy("1");
        hqlGenerator.setSortBy("2");
       // sqlGenerator.setSortBy(1);
        //sqlGenerator.setSortBy(1);
        //sqlGenerator.setSortBy(6);
        // System.out.println(dbtrans.getWhereString());
        System.out.println(hqlGenerator.getGeneratedHql());

    }
    private String originWhere="";
    private String whereString="";
    private boolean showAll=true;
    private String column;
    
    public String getHql(){
        return "for "+className;
    }

    private String logic;
    
    private String operator;;

    private List sorters = new ArrayList();

    private String className;

    private String value;

    public List getSorters() {
        return sorters;
    }

    public HQLGenerator() {
    }

    public String getGeneratedHql() {
        


            // sorters=new Sorter[rsmt.getMetaData().getColumnCount()];
            String generatedHql = "from "+className + " where 1=1 "+originWhere+whereString + getOrderbyString();
            
            
            
            System.out.println(generatedHql);
            return generatedHql;
        
    }

    private String getOrderbyString() {
        String orderbyString = " ORDER BY ";
        if (sorters != null)
            for (int i = 0; i < sorters.size(); i++)

                orderbyString += (i > 0 ? "," : "")
                        + ((Sorter) sorters.get(i)).getOrderbyString();

        return orderbyString.equalsIgnoreCase(" ORDER BY ") ? "" : orderbyString;

    }

    public String getSortString(String column) {
        if (sorters.size() > 0)
            for (int i = 0; i < sorters.size(); i++)
                if (((Sorter) sorters.get(i)).getColumn().equalsIgnoreCase(column))
                    return ((Sorter) sorters.get(i)).getDescString();
        return null;
    }

    public String getWhereString() {
        //String whereString= " where 1=1";

        if(value!=null&&column!=null&&operator!=null&&logic!=null)
        {showAll=false;       
        if(!whereString.toLowerCase().contains((logic+" "+column+" "+operator+" "+value).toLowerCase()))
            whereString +=" "+logic+" "+column+" "+operator+" "+value;
        value=null;
        logic=null;
        column=null;
        operator=null;
        }
        
        if(showAll==true)whereString="";
            
        

        return whereString;
    }
public boolean isSorted(String column) {
        if (sorters != null)
            for (int i = 0; 0 < sorters.size(); i++)
                if (((Sorter) sorters.get(i)).getColumn().equalsIgnoreCase(column))
                    return true;
        return false;
    }

    public void setSortBy(String sortBy) {
        if (sortBy.equals("0")) {
            sorters.clear();
            return;
        }

        for (int i = 0; i < sorters.size(); i++)
            if (((Sorter) sorters.get(i)).getColumn().equalsIgnoreCase(sortBy)) {
                ((Sorter) sorters.get(i)).toggleDesc();
                return;
            }

        Sorter sorter = new Sorter();
        sorter.setColumn(sortBy);
        sorters.add(sorter);

    }

    public void setSorters(List sorters) {
        this.sorters = sorters;
    }


    public void setClassName(String className) {
        this.className = className;
    }

    public void setShowAll(boolean showAll) {
        this.showAll = showAll;
    }

    public void setColumn(String column) {
        this.column = column;
    }

    public void setLogic(String logic) {
        this.logic = logic;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void setOriginWhere(String originWhere) {
        this.originWhere = originWhere;
    }

    public String getOriginWhere() {
        return originWhere;
    }


}

⌨️ 快捷键说明

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