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

📄 databasebean.java

📁 JDBC数据库高级编程源代码
💻 JAVA
字号:
package jdbcbook.photo;

import java.sql.*;
import java.util.*;

import jdbcbook.pub.util.*;

import org.apache.commons.beanutils.*;

/**
 * 数据库处理Bean
 */
public class DatabaseBean
{
	private static final String user = "msgboard";
	private static final String password = "msgboard";

	// 取得一个数据库的连接
	public static Connection getConnection( ) throws SQLException
	{
		//return jdbcbook.pub.db.DatabaseBean.getDSConnection( user, password );
		return jdbcbook.pub.db.DatabaseBean.getConnection( "jdbc/jdbcbook/photo" );
	}

	// 取得某个表中可应用的主键
	public static int getMaxID( String tablename ) throws SQLException
	{
		Connection conn = getConnection( );
		int nMaxID = jdbcbook.pub.db.DatabaseBean.getMaxID( conn, tablename );
		conn.close();
		return nMaxID;
	}

	// 关闭连接,释放资源
	public static void close( ResultSet rs, Statement st, Connection conn )
	{
		jdbcbook.pub.db.DatabaseBean.close( rs, st, conn );
	}

	// 生成结果对象,并设置其属性的值
	public static Vector populates( ResultSet rs, Class cls ) throws SQLException
	{
		if( rs==null || cls==null ) return null;

		ResultSetMetaData rsmd = rs.getMetaData();
		int nColumnCount = rsmd.getColumnCount();
		Vector vt = new Vector();
		while( rs.next() )
		{
			Hashtable ht = new Hashtable();
			for( int i=1; i<=nColumnCount; i++)
			{
				ht.put( rsmd.getColumnName( i ).toLowerCase(), rs.getObject( i ) );
			}
			try
			{
				Object obj = cls.newInstance();
				BeanUtils.populate( obj, ht );
				vt.add( obj );
			}
			catch( Exception ex )
			{
				ex.printStackTrace( System.err );
			}
		}
		return vt;
	}

	// 执行查询结果,得到对象的结果集
	public static Vector query( String sql, Class cls )
	{
		if( StringUtil.isEmptyString( sql ) || cls==null ) return null;

		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		try
		{
			conn 	= DatabaseBean.getConnection();
			st 		= conn.createStatement();

			rs = st.executeQuery( sql );
			return DatabaseBean.populates( rs, cls );
		}
		catch( SQLException ex )
		{
			ex.printStackTrace( System.err );
			return null;
		}
		finally
		{
			DatabaseBean.close( rs, st, conn );
		}
	}

	// 执行查询结果,得到对象的信息
	public static Object queryOne( String sql, Class cls )
	{
		Vector vt = query( sql, cls );
		if( vt!=null && !vt.isEmpty() )
			return vt.get( 0 );
		return null;
	}

	// 更新数据库中的记录
	public static boolean update( String sql )
	{
		if( StringUtil.isEmptyString( sql ) ) return false;

		Connection conn = null;
		Statement st = null;
		try
		{
			conn = DatabaseBean.getConnection();
			st = conn.createStatement();

			int nResult = st.executeUpdate( sql );
			return nResult >= 1;
		}
		catch( SQLException ex )
		{
			ex.printStackTrace( System.err );
			return false;
		}
		finally
		{
			DatabaseBean.close( null, st, conn );
		}
	}

}

⌨️ 快捷键说明

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