一个对数据库进行操作的JavaBean(可用于任何数据库和JSP页面中)

package classes;
import java.sql.*;

public class DB {
public String sql;
public String[] param;
public Connection con=null;
public ResultSet rs;
//数据库初始化,进行加载驱程,数据库连接
public setConnection(String driverName,String jdbcURL,String userName,String password){
      try {
       Class.forName(driverName);//加载驱程
       System.out.println("驱程加载成功");
      } catch (java.lang.ClassNotFoundException e) {
       // TODO: handle exception
       e.printStackTrace();
       System.out.println("驱程加载不成功");
      }
      try {
       con = DriverManager.getConnection(jdbcURL,userName,password);
       con.setAutoCommit(false);
       System.out.println("数据库连接成功");
      } catch (Exception e) {
       // TODO: handle exception
       System.out.println(e);
       System.out.println("数据库连接不成功");
      }
}

//设置查询条件
public void setParam(String[] param){
      this.param=param;
}
//设置查询语句
public void setSQL(String sql){
      this.sql=sql;
}

//获得查询结果,并返回ResultSet
public ResultSet executeQuery(){
      try {
       PreparedStatement select_stm = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
       if (param!=null) {
        for (int i = 0; i < param.length; i++) {
         select_stm.setString(i+1, param[i]);
        }
       }
       rs=select_stm.executeQuery();
       System.out.println("查询成功");
      } catch (Exception e) {
       // TODO: handle exception
       System.out.println(e);
       System.out.println("查询不成功");
      }
      return rs;
}

//进行插,更,删操作
public int execute() throws SQLException,java.io.UnsupportedEncodingException{
      int result = 0;
      try {
       PreparedStatement _stm=con.prepareStatement(sql);
       if (param!=null){
        for (int i = 0; i < param.length; i++) {
         _stm.setString(i+1, param[i]);     
        }    
       }
       result=_stm.executeUpdate();
       _stm.close();
       con.commit();
       System.out.println("操作成功");
      } catch (Exception e) {
       // TODO: handle exception
       System.out.println(e);
       con.rollback();
       System.out.println("操作不成功");
      }
      return result;
}

//关闭数据库
public void close(){
      if(con!=null){
       try {
        con.close();
        con=null;
       } catch (Exception e) {
        // TODO: handle exception
        System.err.println(e.getMessage());
       }
      }
}

}

测试代码:

package classes;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Try {

/**
    * @param args
    */
public static void main(String[] args) {
  
    String driverName="org.gjt.mm.mysql.Driver";
    String jdbcURL="jdbc:mysql://localhost/test";
    String userName="root";
    String password="198410";
    ResultSet rs=null;
    String sql="select * from product";
    String sql1="insert into product (productName) values ('大型计算机')";
   DB db =new DB();
   db.setConnection(driverName, jdbcURL, userName, password);
    try{
     db.setSQL(sql1);
     db.execute();
    }
    catch(Exception e){
    }
    db.setSQL(sql);
    rs=db.executeQuery();
    try{
     rs.next();
     System.out.println("产品的名称"+rs.getString("productName"));
    }
    catch(SQLException e){
     e.printStackTrace();
    }
    try{
     rs.absolute(6);
     System.out.println("产品的名称"+rs.getString("productName"));
    }
    catch(SQLException e){
     e.printStackTrace();
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值