java jdbc封装的好处_JDBC封装类

packagecom.xidian.bbs.util;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.Vector;public classDbConn {

@SuppressWarnings("unchecked")privateVector dsVector;int rowCount=0;int colCount=0;public String[] type=null;boolean flag=true;

@SuppressWarnings("unchecked")publicString[][] getData(String sql){//System.out.println("sql"+sql);

query(sql);//调用了query()方法,来完成数据库的连接

String dsString[][]=newString[rowCount][colCount];if(flag==true){

dsString=null;

}else{for (int i=0;i

Vector row=newVector();

row=(Vector)dsVector.get(i);for(int j=0;j

dsString[i][j]=(String)row.get(j);

}

}

}

dsVector.clear();returndsString;

}public staticConnection getconn(){try{

Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();

}catch(InstantiationException e) {

e.printStackTrace();

}catch(IllegalAccessException e) {

e.printStackTrace();

}catch(ClassNotFoundException e) {

e.printStackTrace();

}

String url="jdbc:jtds:sqlserver://localhost:9433;DatabaseName=SportsUnion2";

String user="sa";

String psw="123";

Connection conn=null;try{

conn=DriverManager.getConnection(url,user,psw);

}catch(SQLException e) {

e.printStackTrace();

}returnconn;

}public static voidcloseConn(Connection conn){try{

conn.close();

}catch(SQLException e) {

e.printStackTrace();

}

}public intupdate(String sql){

Connection conn=DbConn.getconn();

Statement stmt=null;int count=0;//System.out.println(sql);

try{

conn.setAutoCommit(false);

stmt=conn.createStatement();//System.out.println(sql);

count=stmt.executeUpdate(sql);

conn.commit();

}catch(SQLException e) {//System.out.print(e.getErrorCode());

try{

conn.rollback();

}catch(SQLException e1){

e1.printStackTrace();

}

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}finally{

DbConn.closeConn(conn);

}returncount;

}

@SuppressWarnings("unchecked")public intquery(String sql){

Connection conn=DbConn.getconn();//这里已经调用了上面的getconn()方法

dsVector=newVector();

Statement stmt=null;

ResultSet rs=null;

rowCount=0;

colCount=0;try{

stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

flag=true;while(rs.next()){

flag=false;

rowCount++;

ResultSetMetaData rsmd=rs.getMetaData();

Vector row=newVector();

colCount=rsmd.getColumnCount();for( int i= 0; i

row.add(rs.getString(i+1));//System.out.println(rs.getString(i+1));

}

dsVector.add(row);

}

}catch(SQLException e) {

System.out.print(e.getErrorCode());

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}finally{

DbConn.closeConn(conn);//调用了上面的closeConn()方法

}returnrowCount;

}//public static void main(String arg[]){//DbConn dbconn=new DbConn();//String sql_class1="select * from class";//String sql_assign="select * from news where if_Assign!=0 order by if_Assign desc";//String sql_counts1="select * from news";//int b=dbconn.query(sql_assign);//int a=dbconn.query(sql_class1);//int c=dbconn.query(sql_counts1);//

//String[][] A =dbconn.getData(sql_class1);//String[][] B=dbconn.getData(sql_assign);//String[][] C=dbconn.getData(sql_counts1);//for(int j=0;j

//for(int j=0;j

}//}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值