最新分享 » 编程设计 » 在JSP中用bean简单封装数据库操作

在JSP中用bean简单封装数据库操作

时间:2008-10-24 作者:天空下的雨 分类: 编程设计 评论:0 浏览:3996

首先,封装数据库操作,目的就是为了隐藏Java.sql包内的类,在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作轻易带来的资源未释放问题。同时也减少了数据库操作的编码量。下面给大家一个简单的例子:

1、先用Bean来封装数据库操作

import Java.sql.*;
public class sql_data
{
    //声明变量
    String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";   //数据库驱动
    String sConnStr="jdbc:odbc:book";    //使用桥对数据库连接
    Connection conn=null;
    ResultSet rs=null;

    //加载驱动
    public void sql_data()
    {
        try{
            class.forName(sDBDriver);
        }
        catch(Java.lang.ClassNotFoundException e)
        {
            System.err.println(e.getMessage());
        }
    }

    //数据插入
    public void executeInsert(String sql)
    {
        try
        {
            conn=DriverManager.getConnection(sConnStr);
            Statement stmt=conn.createStatement();
            stmt.executeUpdate(sql);
        }
        catch(SQLException ex)
        {
            System.err.println(ex.getMessage());
        }
    }

    //数据查询
    public ResultSet executeQuery(String sql)
    {
        rs=null;
        try
        {
            conn=DriverManager.getConnection(sConnStr);
            Statement stmt=conn.createStatement();
            rs=stmt.executeQuery(sql);
        }
        catch(SQLException ex)
        {
            System.err.println(ex.getMessage());
        }
    }

    //数据删除
    public void executeDelete(String sql)
    {
        try
        {
            conn=DriverManager.getConnection(sConnStr);
            Statement stmt=conn.createStatement();
            stmt.executeUpdate(sql);
        }
        catch(SQLException ex)
        {
            System.err.println(ex.getMessage());
        }
    }
}

2、在JSP页面中调用Bean:

……
<jsp:useBean id="sqlbean" class="book.sql_data"/>  <!-- 调用Bean的数据封装类 -->

<%!String sql,name;%>

<%

sqlbean.sql_data();   //连接数据库
sql="select * from table";
ResultSet rs=sqlbean.executeQuery(sql);

while(rs.next()){
  name=rs.getString("name");
%>

……
name1:<%=name%>  name2: <%=rs.getString("name")%>
……

<%
}
rs.close();
%>