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

📄 sqlbean.java

📁 这是一个JSP的一个摸班部件
💻 JAVA
字号:
package sei;

import java.io.*;
import org.dom4j.*;
import org.dom4j.io.*;

import java.sql.*;

//import javax.naming.*;
//import javax.sql.DataSource;
public  class SqlBean {

    public Connection con = null;

    static String DatabaseDriver;
    static String CnnStr;
	static String username;
	static String password;
   
    private int curPage=1;//当前页
    private int pageSize=25;//每页显示的记录数
    private long rowsCount=0;//记录行数
    private int pageCount=1;//页数
    private String SQL="";//查询条件
    
    
    public SqlBean() {/////构造函数
       if ((username==null)|(password==null)){
    	   String[] p=readLoginParam();
    	   DatabaseDriver=p[0];
    	   CnnStr=p[1];
    	   username=p[2];
    	   password=p[3];
     	   p=null;
       }
       con=Connect(con);
    }
    
    public Connection Connect(Connection con)
    {
        try {
            if (con==null)
            {
                Class.forName(DatabaseDriver);
                con = DriverManager.getConnection(CnnStr,username,password);                
            }else if (con.isClosed()){
                Class.forName(DatabaseDriver);
                con = DriverManager.getConnection(CnnStr,username, password);
            }
        } catch (Exception e) {}
        return con;
     }
	public String[] readLoginParam()// throws Exception
	{
		String Pa[]={"","","","",""};
		try { 
			File f = new File(getClass().getResource("runConfig.xml").getFile()); 
			SAXReader reader = new SAXReader(); 
			Document doc = reader.read(f); 
			Element root = doc.getRootElement();
			Pa[0]=root.elementText("DatabaseDriver");
			Pa[1]=root.elementText("CnnStr");			
			Pa[2]=root.elementText("username");
			Pa[3]=root.elementText("password");	
		} catch (Exception e) {}
		return Pa;
	}
    //获取查询记录总数
	public int executeCount(String sql) {
        int num = -1;
        try {
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            if (rs.next()) num=rs.getInt(1);
            rs.close();
            stmt.close();
        } catch (SQLException ex) {}
        return num;
    }
 
    public ResultSet executeQuery(String sql) {
        ResultSet rs = null;
        try {
            Statement stmt = con.createStatement();
            rs = stmt.executeQuery(sql);
        } catch (SQLException ex) {}
        return rs;
    }
 
  
    //关闭数据库连接
    public void CloseDataBase() {
        try {
            con.close();
        } catch (Exception end) {}
    }
 
    public String getSQL(String SQL,String AndOr,String Pr)
    {
    	if (SQL==null)SQL="";
    	if ((SQL.trim().equals(""))&(!Pr.trim().equals(""))) return SQL=Pr;
    	if ((!SQL.trim().equals(""))&(!Pr.trim().equals(""))) return SQL=SQL+" "+AndOr+" "+Pr;
    	//SQL=getSQLLike(SQL);
    	return SQL;
    }
    public String getAddSQL(String AndOr,String SQL)
    {
   		if (!SQL.trim().equals("")){SQL=" "+AndOr+" "+SQL;}
    	return SQL;
    }
    
    //处理Like查询中的%号问题,说明:将Like中~!字符的还原未%
    public String getSQLLike(String SQL)
    {
   		if (!SQL.equals("")){SQL=SQL.replace("Like '~!","Like '%");SQL=SQL.replace("~!')","%')");}
    	return SQL;
    }    

    public static String getLimitLenStr(String s,int LimitStrlen){
        s=s.replace("'","");
        char[] cc=s.toCharArray();
        int intLen=0;
        int i;
        //if("中国".length()==4){return s.substring(Maxlen/2);}
        for(i=0;i<cc.length;i++){
            if((int)cc[i]>255){intLen=intLen+2;}else{intLen++;}
            if (intLen>=LimitStrlen){break;}
        }        
        if (intLen==LimitStrlen)i++;
        return s.substring(0,i);
    }
    
    public static String getLimitChinese(String s,int MaxLen){
        if(s == null)return "";
        try{
           // String convert = new String(s.getBytes("ISO8859_1"), "GB2312");
           // convert=getLimitLenStr(convert,MaxLen);
            String convert=getLimitLenStr(s,MaxLen);
            return convert;
        }catch(Exception e){}
        return "";
    }
   
    
    /**
     * 获取分页信息。
     * SELECT * FROM T_BOOK,T_STOCK WHERE T_BOOK.BOOK_ID=STOCK.BOOK_ID ORDER BY T_BOOK.BOOK ASC
     * @param SelectFileds 需要显示的字段 如:*
     * @param IdFiled 关键字段,用于排序查找 可以不要
     * @param Table 表名 如:T_BOOK,T_STOCK
     * @param sql 条件语句 如:T_BOOK.BOOK_ID=STOCK.BOOK_ID
     * @param OrderOrGroup 排序 如:ORDER BY T_BOOK.BOOK ASC
     * @param CurPage 要显示第几页
     * @return 分页结果
     */   
    public ResultSet getData(String SelectFileds,String IdFiled,String Table,String sql,String OrderOrGroup,String CurPage,String SQL_ALL) throws Exception 
    {
    	sql=sql.trim();
        if (CurPage==null){
        	CurPage="1";
        	this.SQL=SelectFileds+" _!!_ "+IdFiled+" _!!_ "+Table+" _!!_ "+sql+" _!!_ "+OrderOrGroup;
        }else{
        	String SS[]=SQL_ALL.split("_!!_");
        	SelectFileds=SS[0];
        	IdFiled=SS[1];
        	Table=SS[2];
        	sql=SS[3];
        	OrderOrGroup=SS[4];
        	this.SQL=SQL_ALL;
        }
        this.curPage=Integer.parseInt(CurPage);
        
        if (SelectFileds.trim().equals(""))SelectFileds="*";
        sql=getSQLLike(sql);
        if(IdFiled.trim().equals(""))IdFiled=SelectFileds.replace(",","_--_") ;  

        String IsWhere="";        
        if(sql.trim().equals("")){IsWhere="Where";}else{sql="Where "+sql;IsWhere="And";}        
        
        ResultSet rs=null;
        try {
            rs = executeQuery("select count(*) as A FROM "+Table+" "+sql);
            if (rs.next()) rowsCount=rs.getInt("A");	 
            
            pageCount = (int)Math.ceil((rowsCount + pageSize-1) / pageSize);
            rs=executeQuery("SELECT TOP "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" FROM "+Table+" "+sql+" "+OrderOrGroup+") "+OrderOrGroup);            
       } catch (Exception e){this.SQL="SELECT TOP "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" FROM "+Table+" "+sql+" "+OrderOrGroup+") "+OrderOrGroup;}
       //this.SQL="SELECT TOP "+pageSize+" "+SelectFileds+" FROM "+Table+" "+sql+" "+IsWhere+" "+IdFiled+" Not In (Select Top "+((curPage-1)*pageSize)+" "+IdFiled+" FROM "+Table+" "+sql+" "+OrderOrGroup+") "+OrderOrGroup;
       return rs;
    }

    
    /**
     * 获取工具条
     * @return String
     */
    public String getToolBar(String fileName){
        this.CloseDataBase();
        
        String str="<table border=0 align=center id='TB_Buttom'><input type=hidden name=PAGE_SQL value =\""+this.SQL+"\"><input type=hidden name=cur_page value ="+curPage+">";
        str=str+"<tr align=center valign=middle>";
        str=str+"<td>【每页"+pageSize+"条记录】</td>";
        str=str+"<td>【共"+pageCount+"页/"+rowsCount+"条记录】</td>";
        
        if(curPage<=1)
        {
            str=str+"<td>【首页】</a></td>";
            str=str+"<td>【上一页】</td>";            
        }else{
            str=str+"<td><a href=javascript:document.frm.cur_page.value=1;document.frm.submit();>【首页】</a></td>";
            str=str+"<td><a href=javascript:document.frm.cur_page.value="+(curPage-1)+";document.frm.submit();>【上一页】</a></td>";
        }
        if (curPage<pageCount)
        {
            str=str+"<td><a href=javascript:document.frm.cur_page.value="+(curPage+1)+";document.frm.submit();>【下一页】</a></td>";
            str=str+"<td><a href=javascript:document.frm.cur_page.value="+pageCount+";document.frm.submit();>【尾页】</a></td>";            
        }else{
            str=str+"<td>【下一页】</td>";
            str=str+"<td>【尾页】</td>";                
        }
        //str=str+"<td>每页<input type='text' name='pageSize' STYLE='{width:40}' value="+pageSize+"></td>";
         str+="<td>转到<select name='page' onChange='javascript:document.frm.cur_page.value=document.all.page.value;document.frm.submit();'>";
        for(int i=1;i<=pageCount;i++)
        {
            if(i==curPage)
                str+="<option value='"+i+"' selected>第"+i+"页</option>";
            else
                str+="<option value='"+i+"'>第"+i+"页</option>";
        }
        str+="</select></td>";
        str+="</tr></table>";
        return str;
    }
}

⌨️ 快捷键说明

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