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

📄 jdbc.java

📁 Tomcat内置数据库连接池源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package jdbc;

import java.io.*;
import java.sql.*;
import java.util.*;
import javax.naming.*; 
import java.text.*;

public class jdbc 
{
	Context               initCtx = null;
	Context               ctx = null;
	Object                obj = null;
	javax.sql.DataSource  ds = null;
	public Connection     conn = null;
	public Statement      stmt = null;
	public ResultSet      rs = null;
    static long           connectCount=0;
    	
	public jdbc() 
	{
		conn = null;
		stmt = null;
		rs = null;
	} 

	public Statement getConn()
	{
		try
		{
			//SYBASE
			//Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();
			//conn = DriverManager.getConnection("jdbc:sybase:Tds:10.199.6.8:5000/altisdb","sa","");
			//ORACLE
			//Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
			//conn = DriverManager.getConnection("jdbc:oracle:thin:@10.199.6.8:1521:ora7","altis112","oracle");

			initCtx = new InitialContext();
			//获取连接池对象
			ctx = (Context) initCtx.lookup("java:comp/env");
			obj = (Object) ctx.lookup("AltisDB");    
			//类型转换
			ds = (javax.sql.DataSource)obj;
			conn = ds.getConnection();
			setConnectcountInc();
			stmt = conn.createStatement();
		}
	    catch(Exception e)
	    {
			//e.printStackTrace();
			System.out.println("DB CONNECIT ERROR!"+e);
			closeConn();
			rs = null;
			stmt = null;
			conn = null;
	    }
	    return stmt ;
	}
	public Statement getSybConn()
	{
		try
		{
			//SYBASE
			//Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance();
			//conn = DriverManager.getConnection("jdbc:sybase:Tds:10.199.6.8:5000/altisdb","sa","");
			//ORACLE
			//Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
			//conn = DriverManager.getConnection("jdbc:oracle:thin:@10.199.6.8:1521:ora7","altis112","oracle");

			initCtx = new InitialContext();
			//获取连接池对象
			ctx = (Context) initCtx.lookup("java:comp/env");
			obj = (Object) ctx.lookup("SybaseDB");    
			//类型转换
			ds = (javax.sql.DataSource)obj;
			conn = ds.getConnection();
			setConnectcountInc();
			stmt = conn.createStatement();
		}
	    catch(Exception e)
	    {
			//e.printStackTrace();
			System.out.println("DB CONNECIT ERROR!"+e);
			closeConn();
			rs = null;
			stmt = null;
			conn = null;
	    }
	    return stmt ;
	}

	public void closeConn()
	{
		if(conn!=null)
		{
			setConnectcountDec();
		}
		
		try
		{
		    if(rs!=null)
		    { 
		    	rs.close();
		    }
		}
	    catch(Exception e)
	    {
	    	System.out.println("ERROR HAPPEN TIME:"+getTime());
			System.out.println(e.toString());
			System.out.println("DB RELEASE RS ERROR!");
	    }
		rs=null;
	    try
	    {
	        if(stmt!=null)
	        { 
	          stmt.close();
	       }
        }
        catch(Exception e)
        {
        	System.out.println("ERROR HAPPEN TIME:"+getTime());
        	System.out.println(e.toString());
        	System.out.println("DB RELEASE STMT ERROR!");
        }
		stmt=null;
        try
        {
		    if(conn!=null)
		    { 
			    conn.close();
			}
        }
        catch(Exception e)
        {
        	System.out.println("ERROR HAPPEN TIME:"+getTime());
        	System.out.println(e.toString());
        	System.out.println("DB RELEASE CONN ERROR!");
        }
		conn=null;
	    return ;
	}

	public String ex_chinese(String str)
	{
		if(str==null)
		{
			str = "" ;
		}
		else
		{
			try 
			{
				str = new String(str.getBytes("iso-8859-1"),"gb2312") ;
			}
			catch (Exception ex) 
			{
				str = "exchange error !";
			}
		}
		return str ;
	}

	public String ex_iso8859_1(String str)
	{
		if(str==null)
		{
			str = "" ;
		}
		else
		{
			try 
			{
				str = new String(str.getBytes("gb2312"),"iso-8859-1") ;
			}
			catch (Exception ex) 
			{
				str = "exchange error !";
			}
		}
		return str ;
	}

	public String isNullString(String str)
	{
		if(str==null)
		{
			str = "" ;
		}
		return str ;
	}

	public String getTime() 
	{
    	String datestr = "" ;
    	try 
    	{
    		java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
    		datestr = df.format(new java.util.Date()) ;
    	}
    	catch (Exception ex) 
    	{
    		datestr = "1970/01/01 00:00:00";
    	}
    	return datestr ;
	}
	
	public String getTime(int diffDay) 
	{
    	String datestr = "" ;
    	java.util.Date nowDate = new java.util.Date();
    	long   lTime=nowDate.getTime();
    	lTime=lTime-diffDay*24*3600*1000;
    	java.util.Date beforeDate = new java.util.Date(lTime);
    	try 
    	{
    		java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
    		datestr = df.format(beforeDate) ;
    	}
    	catch (Exception ex) 
    	{
    		datestr = "1970/01/01 00:00:00";
    	}
    	return datestr ;
	}
	
	public String getCurMonth(int startDay) 
	{
		String rtnStr = "";
		int int_year = 0;
		int int_mon = 0;
		int int_day = 0;
		
		Calendar now = Calendar.getInstance();
		int_year = now.get(Calendar.YEAR);
		int_mon = now.get(Calendar.MONTH);
		int_day = now.get(Calendar.DAY_OF_MONTH);
		if(startDay!=1) startDay--;
		Object[] objs = {new Integer(int_year),new Integer(int_mon+1),new Integer(startDay)};
		rtnStr = MessageFormat.format("{0,number,0000}-{1,number,00}-{2,number,00}",objs);
		return rtnStr;
	}

	public String getBackMonth(int startDay) 
	{
		String rtnStr = "";
		int int_year = 0;
		int int_mon = 0;
		int int_day = 0;
		
		Calendar now = Calendar.getInstance();
		int_year = now.get(Calendar.YEAR);
		int_mon = now.get(Calendar.MONTH);
		int_day = now.get(Calendar.DAY_OF_MONTH);

		if( int_mon >= 1 )
		{
			int_mon--;
		}
		else // months=1 DECEMBER
		{
			int_year--;
			int_mon = 11;
		}

		Object[] objs = {new Integer(int_year),new Integer(int_mon+1),new Integer(startDay)};
		rtnStr = MessageFormat.format("{0,number,0000}-{1,number,00}-{2,number,00}",objs);
		return rtnStr;
	}

	public int comTime(String dt1, String dt2)
	{
		String monday[]={"31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"};
		String ynmonday[]={"31", "29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"};
		
		if(dt1==null||dt2==null)
		{
			return -1;
		}
		
		if(dt1.length()<10||dt2.length()<10)
		{
			return -1;
		}
		else if(dt1.length()==19&&dt2.length()==19)
		{
			if(dt1.charAt(10)!=' '||dt1.charAt(13)!=':'||dt1.charAt(16)!=':'||
			   dt2.charAt(10)!=' '||dt2.charAt(13)!=':'||dt2.charAt(16)!=':')
			{
				return -1;	
			}
			else
			{
				if(dt1.substring(11,13).compareTo("00")<0||dt1.substring(11,13).compareTo("23")>0||
				   dt2.substring(11,13).compareTo("00")<0||dt2.substring(11,13).compareTo("23")>0)		
		        {
					return -1;
		        }
				if(dt1.substring(14,16).compareTo("00")<0||dt1.substring(14,16).compareTo("59")>0||
				   dt2.substring(14,16).compareTo("00")<0||dt2.substring(14,16).compareTo("59")>0)		
		        {
					return -1;
		        }
				if(dt1.substring(17,19).compareTo("00")<0||dt1.substring(17,19).compareTo("59")>0||
				   dt2.substring(17,19).compareTo("00")<0||dt2.substring(17,19).compareTo("59")>0)		
		        {
					return -1;
		        }
			}
		}
		else if(dt1.length()>10&&dt1.length()<19||dt1.length()>19||
				dt2.length()>10&&dt2.length()<19||dt2.length()>19)
		{
			return -1;
		}
		
		if(dt1.charAt(4)!='/'&&dt1.charAt(4)!='-'||dt1.charAt(7)!='/'&&dt1.charAt(7)!='-'||
		   dt2.charAt(4)!='/'&&dt2.charAt(4)!='-'||dt2.charAt(7)!='/'&&dt2.charAt(7)!='-')
		{
			return -1;
		}
		if(dt1.substring(0,4).compareTo("1970")<0||dt1.substring(0,4).compareTo("2070")>0||
           dt2.substring(0,4).compareTo("1970")<0||dt2.substring(0,4).compareTo("2070")>0)		
        {
			return -1;
        }
		
		if(dt1.substring(5,7).compareTo("01")<0||dt1.substring(5,7).compareTo("12")>0||
           dt2.substring(5,7).compareTo("01")<0||dt2.substring(5,7).compareTo("12")>0)		
        {
			return -1;
        }

        int year1=Integer.parseInt(dt1.substring(0,4));
        int mon1=Integer.parseInt(dt1.substring(5,7));
        if(year1%4==0&&year1%100!=0||year1%400==0)
        {
			if(dt1.substring(8,10).compareTo("01")<0||dt1.substring(8,10).compareTo(ynmonday[mon1-1])>0)
			return -1;
        }
        else
        {
			if(dt1.substring(8,10).compareTo("01")<0||dt1.substring(8,10).compareTo(monday[mon1-1])>0)
			return -1;
        }     
        
        int year2=Integer.parseInt(dt2.substring(0,4));
        int mon2=Integer.parseInt(dt2.substring(5,7));
        if(year2%4==0&&year2%100!=0||year2%400==0)
        {
			if(dt2.substring(8,10).compareTo("01")<0||dt2.substring(8,10).compareTo(ynmonday[mon2-1])>0)
			return -1;
        }
        else
        {
			if(dt2.substring(8,10).compareTo("01")<0||dt2.substring(8,10).compareTo(monday[mon2-1])>0)
			return -1;
        }     

		return dt2.compareTo(dt1);
	}
	
	public int checkTime(String dt1)
	{
		String monday[]={"31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"};
		String ynmonday[]={"31", "29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31"};
		
		if(dt1==null)
		{
			return -1;
		}
		
		if(dt1.length()<10)
		{
			return -1;
		}
		else if(dt1.length()==19)
		{
			if(dt1.charAt(10)!=' '||dt1.charAt(13)!=':'||dt1.charAt(16)!=':')
			{
				return -1;	
			}
			else
			{
				if(dt1.substring(11,13).compareTo("00")<0||dt1.substring(11,13).compareTo("23")>0)		
		        {
					return -1;
		        }
				if(dt1.substring(14,16).compareTo("00")<0||dt1.substring(14,16).compareTo("59")>0)		
		        {
					return -1;
		        }
				if(dt1.substring(17,19).compareTo("00")<0||dt1.substring(17,19).compareTo("59")>0)		
		        {
					return -1;
		        }
			}
		}
		else if(dt1.length()>10&&dt1.length()<19||dt1.length()>19)
		{
			return -1;
		}

⌨️ 快捷键说明

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