建议用class
可以写4个方法(增删改查)
在JSP里IMPORT一下就可以了
更易维护

解决方案 »

  1.   

    我是想在servlet里控制啊,所以哪位有servlet的代码啊
      

  2.   

    转帖:
    我们在做jsp开发的时候,经常需要对数据库进行查询及增删改,而这些操作使用的又
    是非常频繁,因此,我写了一个javabean,来实现与数据库的连接以及对数据库的增删改。现
    在拿出来与大家共享,希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!
    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_INS
    ENSITIVE,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();
    }

    }
    以下给简单地给出了使用的范例,请参考:
    <%@ 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)%>
    <%}%>
    希望大家尊重作者的劳动,使用时保留作者信息以及版本信息等等,谢谢!
    如果以后不是很忙的话,我会逐步写一些文章,把自己的一些开发经验与大家分享。
    初步的文章标题:
    **利用javabean轻松建立并管理数据库连接池!
    **利用javabean轻松实现页面导航及数据分页显示!
    **利用最终类的静态方法轻松实现对中文乱码的处理!
    **利用javabean轻松实现服务器端对数据类型的检测!
    **利用javabean轻松实现对服务器端日期格式的检测与处理!