一个javabean轻松实现对数据库的各种操作

 

1.调用实例

<%@ page contentType= "text/html" import= "operate_db.*,java.sql.*" %>
<jsp:useBean id="querybean" scope="request" class="operate_db.QueryBean" />
<%
  String prm1,prm2,prm3;
  ResultSet rst= null;
  prm1 = ...;
  prm2 = ...;
  prm3 = ...;
  querybean.setConnection( "sun.jdbc.odbc.JdbcOdbcDriver", "jdbc:odbc:数据源名", "sa", "");
 
  try{

    String[] param = {prm1,prm2,prm3};
      /*设置select语句*/
      querybean.setQuerystatement( "Select * from table where field1 = ? and field2=? and field3=?");
      querybean.setParam(param);
      rst=querybean.getResult();
    } catch( Exception e){ System. out. println(e);  }


while (rst. next()){

%><%=rst.getString(1) %>

<%
} %>


2.javabean  QueryBean

QueryBean.java:

pacakage operate_db;
/**
* Title:        select insert update and delete
* Description:  select insert update and delete
* Copyright:    Copyright (c) 2001
* @author Lci21
* @version 1.0
*/

import java.sql.*;
public class QueryBean
{   
    public String query_statement;  /*定义sql语句*/
    public String param[];          /*查询条件,或者是新的记录*/
    public ResultSet result=null;   
    public Connection conn;
   
    public void setParam(String[] param)
    {
        this.param=param;
    }
    public void setQuerystatement(String query_statement)
    {
        this.query_statement=query_statement;
    }
    public void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception
    {
        Connection conn1;
        Class.forName(driverName);
        conn1=DriverManager.getConnection(jdbcURL,username,passwd);
        conn1.setAutoCommit(false);
        this.conn = conn1;
    }
    /*获取查询结果*/
    public ResultSet getResult() 
    {
        try
        {
            PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
            if (param!=null)
                    for(int i=0;i<param.length;i++)
                        select_stm.setString(i+1,param[i]);
            result=select_stm.executeQuery();                                       
        }catch(Exception e){System.out.println(e);}
        return result;
    }
   
/*对数据库进行增加记录操作*/ 
    public void insertRecord() throws SQLException,java.io.UnsupportedEncodingException
    {
        try
        {
            PreparedStatement insert_stm=conn.prepareStatement(query_statement);
            if (param!=null)
                for(int i=0;i<param.length;i++)
                    insert_stm.setString(i+1,param[i]);
            insert_stm.executeUpdate();
            insert_stm.close();
            conn.commit();
        }
        catch(Exception e)
        {
            System.out.println(e);
            conn.rollback();
        }       
    }
         
/*对数据记录进行更改操作*/     
        public void updateRecord() throws SQLException,java.io.UnsupportedEncodingException
        {
            try
            {
                PreparedStatement update_stm=conn.prepareStatement(query_statement);
                if (param!=null)
                    for (int i=0;i<param.length;i++)
                        update_stm.setString(i+1,param[i]);
                update_stm.executeUpdate();
                update_stm.close();
                conn.commit();
            }
            catch(Exception e)
            {
                System.out.println(e);
                conn.rollback();
            }
        }
  /*删除数据记录*/                         
        public void deleteRecord() throws SQLException,java.io.UnsupportedEncodingException
        {
            try
            {
                PreparedStatement delete_stm=conn.prepareStatement(query_statement);
                if (param!=null)
                    for (int i=0;i<param.length;i++)
                        delete_stm.setString(i+1,param[i]);
                delete_stm.executeUpdate();
                delete_stm.close();
                conn.commit();
            }
            catch(Exception e)
            {
                System.out.println(e);
                conn.rollback();
            }
        }   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值