/*
* Created on 2005-7-27
*
* To change the template for this generated file go to
* Window> references>Java>Code Generation>Code and Comments
*/
package db;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
/**
* @author ljp
*
* To change the template for this generated type comment go to
* Window> references>Java>Code Generation>Code and Comments
*/
//该类用于封装数据库操作
public class DbBean
{
/**
*
*/
private String URL;//数据源URL
private String DRIVER;//数据库驱动
private String SQL;//SQL语句
private boolean ISQUERY=true;//判断是QUERY操作或UPDATE操作默认为QUERY
private Connection CON;//语句对象
private Statement SM;//语句对象
private PreparedStatement PSM;//Prepared语句对象
private CallableStatement CSM;//执行存储过程的语句对象
private ResultSet RS;//结果集对象
public DbBean()
{
}
//开启数据库连接
public void openCon(String _url,String _driver)
{
SM=this.makeStatement(_url,_driver);
}
//用于执行select操作
public ResultSet getResult(String _url,String _driver,String _sql)
{
SM=makeStatement(_url,_driver);
SQL=_sql;
return this.runExecute();
}
//用于执行insert,delete,update操作
public void dbUpdate(String _url,String _driver,String _sql,boolean _isquery)
{
SM=this.makeStatement(_url,_driver);
SQL=_sql;
ISQUERY=_isquery;
this.runExecute();
}
//用于初始化prepared语句对象
public void dbPrepared(String _url,String _driver,String _sql)
{
PSM=this.makePreparedStatement(_url,_driver,_sql);
SQL=_sql;
}
//用于执行prepared语句的数据库操作
public void runPrepared()
{
try
{
PSM.execute();
System.out.println("执行prepared语句的数据库操作");
}
catch(Exception e)
{
System.out.println("执行prepared语句的数据库操作出错");
}
}
//_values的值用于填充SQL语句中的?处的参数
public void setPreparedVal(Object[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setObject(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的参数时出错");
}
}
//_values的值用于填充SQL语句中的?处的String型的参数
public void setPreparedValString(String[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setString(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的String型参数时出错");
}
}
//_values的值用于填充SQL语句中的?处的int型参数
public void setPreparedValInt(int[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setInt(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的int型参数时出错");
}
}
//用于初始化执行存储过程的语句对象,_procedurename为存储过程名和参数列表用如" _Test[(?,?)]",有返回值时outval="?=";没有时outval="";
public void dbCallable(String _url,String _driver,String _procedurename,String _outval)
{
CSM=this.makeCallableStatement(_url,_driver,_procedurename,_outval);
}
//设置存储过程的返回值
public void setProcedureOut(int _sqlType)
{
try
{
CSM.registerOutParameter(0,_sqlType);
}
catch (Exception e)
{
System.out.println("设置存储过程的返回值时出错");
}
}
//获取存储过程的返回值
public void getProcedureOut()
{
try
{
CSM.getObject(0);
}
catch (Exception e)
{
System.out.println("获取存储过程的返回值时出错");
}
}
//用于执行存储过程的数据库操作
public void runCallable()
{
try
{
PSM.execute();
System.out.println("执行存储过程的数据库操作");
}
catch(Exception e)
{
System.out.println("用于执行存储过程的数据库操作出错");
}
}
//可以在首次执行数据库操作后,再次操作时使用
public ResultSet reExecute()
{
if(SQL!=null)
{
return this.runExecute();
}
else
{
System.out.println("请先输入SQL语句");
return null;
}
}
//设置SQL语句
public void setSql(String _sql)
{
SQL=_sql;
}
//设置数据库操作类型
public void setIsquery(boolean _isquery)
{
ISQUERY=_isquery;
}
//关闭数据库连接出错
public void dbClose()
{
try
{
URL=null;
DRIVER=null;
SQL=null;
ISQUERY=true;
CON.commit();
if(RS!=null)
{
RS.close();
}
if(SM!=null)
{
SM.close();
}
if(CON!=null)
{
CON.close();
}
System.out.println("关闭数据库连接");
}
catch(Exception e)
{
System.out.println("关闭数据库连接出错");
}
}
//内部使用方法,用于创建语句对象
private Statement makeStatement(String _url,String _driver)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
Statement sm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
sm=CON.createStatement();
System.out.println("创建数据库连接");
return sm;
}
catch(Exception e)
{
System.out.println("创建数据库连接语句对象出错");
return null;
}
}
//内部使用方法,用于创建Prepared语句对象
private PreparedStatement makePreparedStatement(String _url,String _driver,String _preparedsql)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
PreparedStatement psm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
psm=CON.prepareStatement(_preparedsql);
System.out.println("创建数据库连接");
return psm;
}
catch(Exception e)
{
System.out.println("创建数据库连接Prepared语句对象出错");
return null;
}
}
//内部使用方法,用于创建执行存储过程的语句对象
private CallableStatement makeCallableStatement(String _url,String _driver,String _procedurename,String _outval)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
CallableStatement csm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
csm=CON.prepareCall("{"+_outval+"call "+_procedurename+"}");
System.out.println("创建数据库连接");
return csm;
}
catch(Exception e)
{
System.out.println("创建执行存储过程的语句对象出错");
return null;
}
}
//内部使用方法,执行SQL语句并返回结果集
private ResultSet runExecute()
{
try
{
if(ISQUERY)
{
RS=SM.executeQuery(SQL);
System.out.println("执行数据库查询操作");
return RS;
}
else
{
ISQUERY=true;
SM.executeUpdate(SQL);
System.out.println("执行数据库更新操作");
return null;
}
}
catch(Exception e)
{
System.out.println("执行SQL语句出错");
return null;
}
}
}
/*
* Created on 2005-7-27
*
* To change the template for this generated file go to
* Window> references>Java>Code Generation>Code and Comments
*/
package db;
import java.sql.ResultSet;
/**
* @author ljp
*
* To change the template for this generated type comment go to
* Window> references>Java>Code Generation>Code and Comments
*/
//该类可以帮助程序员较方便的完成数据库操作,是DbBean的功能扩展
public class DbAccess extends DbBean
{
/**
*
*/
private String ACCESSURL="jdbc dbc:coolljpDB";//数据源URL
private String ACCESSDRIVER="sun.jdbc.odbc.JdbcOdbcDriver";//数据库驱动
public DbAccess()
{
}
//初始化数据源URL和数据库驱动
public DbAccess(String _ACCESSURL,String _ACCESSDRIVER)
{
ACCESSURL=_ACCESSURL;
ACCESSDRIVER=_ACCESSDRIVER;
}
//执行查询操作并返回结果集,返回表中所有元素
public ResultSet doSelect(String _tablename)
{
ResultSet rs=null;
try
{
String sql="select * from "+_tablename;
rs=super.getResult(ACCESSURL,ACCESSDRIVER,sql);
}
catch (Exception e)
{
System.out.println("doSelect操作出错");
}
return rs;
}
//执行查询操作并返回结果集,返回指定元素
public ResultSet doSelect(String _tablename,String _wheresql) //_wheresql代表where之后的sql语句
{
ResultSet rs=null;
try
{
String sql="select * from "+_tablename+" where "+_wheresql;
rs=super.getResult(ACCESSURL,ACCESSDRIVER,sql);
}
catch (Exception e)
{
System.out.println("doSelect操作出错");
}
return rs;
}
//删除符合条件的行
public void doDelete(String _tablename,String _wheresql)
{
try
{
String sql="delete * from "+_tablename+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行删除操作
public void doDelete(String _tablename,String _names,String _wheresql)//_names代表所要删除的字段名或_names="*"
{
try
{
String sql="delete ("+_names+") from "+_tablename+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//删除所有行
public void doDelete(String _tablename)
{
try
{
String sql="delete from "+_tablename;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行插入操作
public void doInsert(String _tablename,String _values)//_values是所要入元素的值
{
try
{
String sql="insert into "+_tablename+" values ("+_values+")";
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行插入操作
public void doInsert(String _tablename,String _names,String _values)//_names是所要插入的字段名,_values是所要入元素的值
{
try
{
String sql="insert into "+_tablename+" ("+_names+") values ("+_values+")";
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行修改操作
public void doUpdate(String _tablename,String _values,String _wheresql)//_values是所要修改元素和值,_wheresql代表where之后的sql语句
{
try
{
String sql="update "+_tablename+" set "+_values+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doUpdate操作出错");
}
}
}
* Created on 2005-7-27
*
* To change the template for this generated file go to
* Window> references>Java>Code Generation>Code and Comments
*/
package db;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
/**
* @author ljp
*
* To change the template for this generated type comment go to
* Window> references>Java>Code Generation>Code and Comments
*/
//该类用于封装数据库操作
public class DbBean
{
/**
*
*/
private String URL;//数据源URL
private String DRIVER;//数据库驱动
private String SQL;//SQL语句
private boolean ISQUERY=true;//判断是QUERY操作或UPDATE操作默认为QUERY
private Connection CON;//语句对象
private Statement SM;//语句对象
private PreparedStatement PSM;//Prepared语句对象
private CallableStatement CSM;//执行存储过程的语句对象
private ResultSet RS;//结果集对象
public DbBean()
{
}
//开启数据库连接
public void openCon(String _url,String _driver)
{
SM=this.makeStatement(_url,_driver);
}
//用于执行select操作
public ResultSet getResult(String _url,String _driver,String _sql)
{
SM=makeStatement(_url,_driver);
SQL=_sql;
return this.runExecute();
}
//用于执行insert,delete,update操作
public void dbUpdate(String _url,String _driver,String _sql,boolean _isquery)
{
SM=this.makeStatement(_url,_driver);
SQL=_sql;
ISQUERY=_isquery;
this.runExecute();
}
//用于初始化prepared语句对象
public void dbPrepared(String _url,String _driver,String _sql)
{
PSM=this.makePreparedStatement(_url,_driver,_sql);
SQL=_sql;
}
//用于执行prepared语句的数据库操作
public void runPrepared()
{
try
{
PSM.execute();
System.out.println("执行prepared语句的数据库操作");
}
catch(Exception e)
{
System.out.println("执行prepared语句的数据库操作出错");
}
}
//_values的值用于填充SQL语句中的?处的参数
public void setPreparedVal(Object[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setObject(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的参数时出错");
}
}
//_values的值用于填充SQL语句中的?处的String型的参数
public void setPreparedValString(String[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setString(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的String型参数时出错");
}
}
//_values的值用于填充SQL语句中的?处的int型参数
public void setPreparedValInt(int[] _values)
{
try
{
for(int i=0;i<_values.length;i++)
{
PSM.setInt(i,_values[i]);
}
}
catch(Exception e)
{
System.out.println("设置prepared的SQL语句的int型参数时出错");
}
}
//用于初始化执行存储过程的语句对象,_procedurename为存储过程名和参数列表用如" _Test[(?,?)]",有返回值时outval="?=";没有时outval="";
public void dbCallable(String _url,String _driver,String _procedurename,String _outval)
{
CSM=this.makeCallableStatement(_url,_driver,_procedurename,_outval);
}
//设置存储过程的返回值
public void setProcedureOut(int _sqlType)
{
try
{
CSM.registerOutParameter(0,_sqlType);
}
catch (Exception e)
{
System.out.println("设置存储过程的返回值时出错");
}
}
//获取存储过程的返回值
public void getProcedureOut()
{
try
{
CSM.getObject(0);
}
catch (Exception e)
{
System.out.println("获取存储过程的返回值时出错");
}
}
//用于执行存储过程的数据库操作
public void runCallable()
{
try
{
PSM.execute();
System.out.println("执行存储过程的数据库操作");
}
catch(Exception e)
{
System.out.println("用于执行存储过程的数据库操作出错");
}
}
//可以在首次执行数据库操作后,再次操作时使用
public ResultSet reExecute()
{
if(SQL!=null)
{
return this.runExecute();
}
else
{
System.out.println("请先输入SQL语句");
return null;
}
}
//设置SQL语句
public void setSql(String _sql)
{
SQL=_sql;
}
//设置数据库操作类型
public void setIsquery(boolean _isquery)
{
ISQUERY=_isquery;
}
//关闭数据库连接出错
public void dbClose()
{
try
{
URL=null;
DRIVER=null;
SQL=null;
ISQUERY=true;
CON.commit();
if(RS!=null)
{
RS.close();
}
if(SM!=null)
{
SM.close();
}
if(CON!=null)
{
CON.close();
}
System.out.println("关闭数据库连接");
}
catch(Exception e)
{
System.out.println("关闭数据库连接出错");
}
}
//内部使用方法,用于创建语句对象
private Statement makeStatement(String _url,String _driver)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
Statement sm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
sm=CON.createStatement();
System.out.println("创建数据库连接");
return sm;
}
catch(Exception e)
{
System.out.println("创建数据库连接语句对象出错");
return null;
}
}
//内部使用方法,用于创建Prepared语句对象
private PreparedStatement makePreparedStatement(String _url,String _driver,String _preparedsql)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
PreparedStatement psm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
psm=CON.prepareStatement(_preparedsql);
System.out.println("创建数据库连接");
return psm;
}
catch(Exception e)
{
System.out.println("创建数据库连接Prepared语句对象出错");
return null;
}
}
//内部使用方法,用于创建执行存储过程的语句对象
private CallableStatement makeCallableStatement(String _url,String _driver,String _procedurename,String _outval)
{
try
{
//加载数据库驱动
Class.forName(_driver);
System.out.println("加载数据库驱动");
}
catch(Exception e)
{
System.out.println("无法加载数据库驱动");
}
CallableStatement csm;
try
{
//创建数据库连接语句对象
CON=DriverManager.getConnection(_url);
csm=CON.prepareCall("{"+_outval+"call "+_procedurename+"}");
System.out.println("创建数据库连接");
return csm;
}
catch(Exception e)
{
System.out.println("创建执行存储过程的语句对象出错");
return null;
}
}
//内部使用方法,执行SQL语句并返回结果集
private ResultSet runExecute()
{
try
{
if(ISQUERY)
{
RS=SM.executeQuery(SQL);
System.out.println("执行数据库查询操作");
return RS;
}
else
{
ISQUERY=true;
SM.executeUpdate(SQL);
System.out.println("执行数据库更新操作");
return null;
}
}
catch(Exception e)
{
System.out.println("执行SQL语句出错");
return null;
}
}
}
/*
* Created on 2005-7-27
*
* To change the template for this generated file go to
* Window> references>Java>Code Generation>Code and Comments
*/
package db;
import java.sql.ResultSet;
/**
* @author ljp
*
* To change the template for this generated type comment go to
* Window> references>Java>Code Generation>Code and Comments
*/
//该类可以帮助程序员较方便的完成数据库操作,是DbBean的功能扩展
public class DbAccess extends DbBean
{
/**
*
*/
private String ACCESSURL="jdbc dbc:coolljpDB";//数据源URL
private String ACCESSDRIVER="sun.jdbc.odbc.JdbcOdbcDriver";//数据库驱动
public DbAccess()
{
}
//初始化数据源URL和数据库驱动
public DbAccess(String _ACCESSURL,String _ACCESSDRIVER)
{
ACCESSURL=_ACCESSURL;
ACCESSDRIVER=_ACCESSDRIVER;
}
//执行查询操作并返回结果集,返回表中所有元素
public ResultSet doSelect(String _tablename)
{
ResultSet rs=null;
try
{
String sql="select * from "+_tablename;
rs=super.getResult(ACCESSURL,ACCESSDRIVER,sql);
}
catch (Exception e)
{
System.out.println("doSelect操作出错");
}
return rs;
}
//执行查询操作并返回结果集,返回指定元素
public ResultSet doSelect(String _tablename,String _wheresql) //_wheresql代表where之后的sql语句
{
ResultSet rs=null;
try
{
String sql="select * from "+_tablename+" where "+_wheresql;
rs=super.getResult(ACCESSURL,ACCESSDRIVER,sql);
}
catch (Exception e)
{
System.out.println("doSelect操作出错");
}
return rs;
}
//删除符合条件的行
public void doDelete(String _tablename,String _wheresql)
{
try
{
String sql="delete * from "+_tablename+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行删除操作
public void doDelete(String _tablename,String _names,String _wheresql)//_names代表所要删除的字段名或_names="*"
{
try
{
String sql="delete ("+_names+") from "+_tablename+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//删除所有行
public void doDelete(String _tablename)
{
try
{
String sql="delete from "+_tablename;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行插入操作
public void doInsert(String _tablename,String _values)//_values是所要入元素的值
{
try
{
String sql="insert into "+_tablename+" values ("+_values+")";
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行插入操作
public void doInsert(String _tablename,String _names,String _values)//_names是所要插入的字段名,_values是所要入元素的值
{
try
{
String sql="insert into "+_tablename+" ("+_names+") values ("+_values+")";
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doDelete操作出错");
}
}
//执行修改操作
public void doUpdate(String _tablename,String _values,String _wheresql)//_values是所要修改元素和值,_wheresql代表where之后的sql语句
{
try
{
String sql="update "+_tablename+" set "+_values+" where "+_wheresql;
super.dbUpdate(ACCESSURL,ACCESSDRIVER,sql,false);
}
catch (Exception e)
{
System.out.println("doUpdate操作出错");
}
}
}