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

📄 database.java

📁 一个关于商业的网站
💻 JAVA
字号:
package com.everstar.database;

import java.sql.*;
import java.io.*;

public class Database
{
	final static String SQL_SELECT = "SELECT";
	final static String SQL_UPDATE = "UPDATE";
	final static String SQL_INSERT = "INSERT";
	final static String SQL_DELETE = "DELETE";

	static		ConnectionPoolManager m_manager = null;	
	Connection	m_connection = null;

	//////////////////////////////////////////////////////
	public void print(String msg)
	{
		System.out.println("DEBUG>>->" + msg);
	}
	//////////////////////////////////////////////////////
	
	public Database()
	{
		//Get the instance of database connection pool manager.
		m_manager = ConnectionPoolManager.getInstance();
	}

	public void freeConnection()
	{
		m_manager.freeConnection(m_connection);
	}
	
	public void close()
	{
		freeConnection();
	}

	public ResultSet select(String sql)
	{
		if(sql == null || (sql = sql.trim()) == "")
			return null;

		String tmp = sql.toUpperCase();

		if(!tmp.startsWith(SQL_SELECT))
			return null;

		return executeQuery(sql);
	}
	
	public int count(String sql)
	{
		if(sql == null || (sql = sql.trim()) == "")
			return -1;

		String tmp = sql.toUpperCase();
		if(!tmp.startsWith(SQL_SELECT))
			return -1;

		return executeCount(sql);
	}
	
	public int insert(String sql)
	{
		return executeUpdate(sql,SQL_INSERT);
	}
	
	public int delete(String sql)
	{
		return executeUpdate(sql,SQL_DELETE);
	}
	
	public int update(String sql)
	{
		return executeUpdate(sql,SQL_UPDATE);
	}
	
	private ResultSet executeQuery(String sql)
	{
		ResultSet rs = null;

		try
		{
			m_connection	= m_manager.getConnection();
			rs				= m_connection.createStatement().executeQuery(sql); 
		}
		catch(Exception ex) 
		{
			ex.printStackTrace();
		}
		
		return rs;
	}

	private int executeCount(String sql)
	{
		ResultSet	rs		= null;
		int			count	= 0;

		try
		{
			m_connection	= m_manager.getConnection();
			rs				= m_connection.createStatement().executeQuery(sql);

			/*if(rs.last())
				count = rs.getRow();
			else
				count = -1;*/
			while(rs.next())
				count++;
		}
		catch(SQLException ex) 
		{
		}
		finally
		{
			close();
		}
		
		return count;
	}
	
	private int executeUpdate(String sql, String type)
	{
		if(sql == null || (sql = sql.trim()) == "" ||
			type == null || (type = type.trim()) == "" ||
			!type.equals(SQL_INSERT) &&
			!type.equals(SQL_DELETE) &&
			!type.equals(SQL_UPDATE))
			return -1;

print("Type:" + type);
print("SQL:" + sql);
		
		String tmp = sql.toUpperCase();
		if(!tmp.startsWith(type))
			return -1;

		int	count = 0;

		try
		{
			m_connection	= m_manager.getConnection();
			count			= m_connection.createStatement().executeUpdate(sql);
		}
		catch(SQLException ex) 
		{
			count = -1;
		}
		finally
		{
			close();
		}
		
		return count;
	}
}

⌨️ 快捷键说明

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