All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.frameworkset.platform.util.DBOperator Maven / Gradle / Ivy

package com.frameworkset.platform.util;

import java.sql.*;
import java.util.*;
import com.frameworkset.common.poolman.util.SQLManager;

public class DBOperator {
  
  public static DBOperator m_instance = new DBOperator();
  
  private DBOperator(){
  }

  public static DBOperator getInstance(){
  	if (m_instance == null)
  		m_instance = new DBOperator();
  	return m_instance;
  }

  /**
     * 执行数据库查询语句,返回查询结果。
     * @param s 查询语句
     * @return 查询结果
     */
    public static Vector runSelect(String sql,String defaultIfNull) {
        Connection con = null;
        Statement stmt = null;
        ResultSet resultset = null;
        try {
            con = getDBConnection();

            if(con == null) return null;
            stmt = con.createStatement();
            resultset = stmt.executeQuery(sql); /*查询结果句柄*/
            ResultSetMetaData resultsetmetadata = resultset.getMetaData();

            int i = resultsetmetadata.getColumnCount(); /*每条记录的字段数*/
            Vector allRecordVector = new Vector();
            Vector oneRecordVector = null;
            /*resultset为顺序存放,依次存放各条记录*/
           while( resultset.next()) {
                oneRecordVector = new Vector();
                for (int j = 1; j <= i; j++) {
                    String elem = resultset.getString(j);
                    if (elem == null)
                        elem = defaultIfNull;
                    oneRecordVector.addElement(elem);
                }
               allRecordVector.add(oneRecordVector);
            }
            releaseCon(resultset,stmt,con);
            return allRecordVector;
        } catch (Exception e) {
            releaseCon(resultset,stmt,con);
            //e.printStackTrace();
            return null;
        }
    }
    
    /**
     * 执行数据库查询语句,返回结果集。
     * @param s 查询语句
     * @return 查询结果
     */
    public static ResultSet runSelect1(String sql) {
        Connection con = null;
        Statement stmt = null;
        ResultSet resultset = null;
        try {
            con = getDBConnection();

            if(con == null) return null;
            stmt = con.createStatement();
            resultset = stmt.executeQuery(sql); /*查询结果句柄*/            
        } catch (Exception e) {
            releaseCon(resultset,stmt,con);
            //e.printStackTrace();
            return null;
        }
        return resultset;
    }

    /**
     * 执行更新语句,返回更新记录条数
     * @param s 更新语句
     * @return 更新记录条数
     */

    public static boolean runUpdate(String s) {
        return executeUpdate(s);
    }

    /**
     * 执行插入语句,返回插入记录条数
     * @param s 插入语句
     * @return  更新记录条数
     */

    public static boolean runInsert(String s) {
        return executeUpdate(s);
    }

    /**
     * 执行创建表语句,返回创建表数
     * @param s 创建语句
     * @return  创建表数
     */

    public static boolean runCreate(String s) {
        return executeUpdate(s);
    }

    /**
     *
     * @param s String
     * @return boolean
     */

  public static boolean runDelete(String s) {
    return executeUpdate(s);
  }

  public static boolean executeUpdate(String updateSQL) {
        Connection con = null;
        Statement stmt = null;
        ResultSet resultset = null;
        try {
            con = getDBConnection();
            if(con == null) return false;
            stmt = con.createStatement();
            stmt.executeUpdate(updateSQL); /*执行SQL语句*/
            releaseCon(null,stmt,con);
            return true;
        }
        catch (SQLException e) {
            releaseCon(null,stmt,con);
            e.printStackTrace();
            return false;
        }
    }

    public static void releaseCon(ResultSet rs,Statement stmt,Connection con){
        try{
            if(rs != null)rs.close();
            if(stmt!=null)stmt.close();
            if(con!=null)con.close();
        }
        catch(SQLException e){
        }
    }
    
    public static void releaseCon(ResultSet rs,Statement stmt, PreparedStatement pstmt, Connection con){
        try{
            if(rs != null)rs.close();
            if(stmt!=null)stmt.close();
            if(pstmt!=null)pstmt.close();
            if(con!=null)con.close();
        }
        catch(SQLException e){
        }
    }

    public static Connection getDBConnection(){
    	Connection con=null;
    	try {
			con=SQLManager.getInstance().requestConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
    }
    
  

	/**
	 * @param sqlstr
	 * @param params
	 */
	public Vector exeuteQuery(String sqlstr, Object[] params) {
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            con = getDBConnection();
            pstmt = con.prepareStatement(sqlstr);
            int paramCount = params.length;
            if (paramCount <0 || paramCount != getStrNum(sqlstr,"?"))
            	throw new IllegalArgumentException("参数个数小于0,或者是参数的个数不一致");
            
            for(int i=0;i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy