写了 一个连接sql的bean可能不是非常好,但可以给参考:
package bbsBean;import java.sql.*;
import java.net.*;
import java.io.*;
import java.util.*;public class QueryData implements Serializable 
{
//定义变量
static Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public QueryData(){}
//建立连接
public static void getConnection(){
try
{
//注册驱动
 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
 /*建立连接*/
 conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=manager2000;DatabaseName=bbs"); }
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
}

//关闭数据库
public void closeConnection(){
try
{
if (rs!=null)
{
rs.close();
}
if (stmt!=null)
{
stmt.close();
}
if (conn!=null)
{
conn.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
rs=null;
stmt=null;
conn=null;
} //returnResultQuery该方法返回一个得到的记录集,参数为sql语句
public ResultSet returnResultQuery(String sql){
rs=null;
try
{
if (conn==null)
{
getConnection();
}
if(conn!=null){
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//执行数据库的查询
rs=stmt.executeQuery(sql);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
return rs;
} //executeUpdate用来更新数据库
//参数为sql语句,成功返回true,失败返回false;
public boolean executeUpdate(String sql){
boolean bupdate=false;
try
{
//判断是否连接
if (conn==null)
{
getConnection();
}
if(conn!=null){
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
int rowCount=stmt.executeUpdate(sql);
if (rowCount!=0)
{
bupdate=true;
}
}
}
catch (SQLException e)
{
e.printStackTrace();
}
return bupdate;

}
//toChinese方法用于将一个字符串进行中文处理
public static String toChinese(String strValue){
try
{
if (strValue==null)
{
return null;
}
else{
strValue=new String(strValue.getBytes("ISO8856_1"),"GBK");
return strValue;
}
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
//测试代码
/* public static void main(String arge[]){
ResultSet r=null;
QueryData q=new QueryData();
r=q.returnResultQuery("select * from liouyan");
try
{
while (r.next())
{
System.out.println(r.getString(2));
}
}
catch (SQLException e)
{
System.out.println("错误");
}

}
*/
}

解决方案 »

  1.   

    ok,谢谢。但还有几点不太明白,请解释解释:1,static Connection conn=null; 为什么要用static关键字呢?2,public class QueryData implements Serializable 这里的Serializable有什么作用呢?我是初学者,请教。谢谢
      

  2.   

    //链接MySql的bean
    package webmail;import java.sql.*; 
    public class conn 

    String driverName = "org.gjt.mm.mysql.Driver"; 
    Connection conn = null; 
    Statement stmt = null; 
    ResultSet rs = null; 
    //String connURL= "jdbc:mysql://localhost:3306/webmail","root","""; 
    String connURL= "jdbc:mysql://localhost/webmail?user=root&password=root"; 
    public conn() 

    try 

    Class.forName(driverName); 

    catch (java.lang.ClassNotFoundException e) 

    System.err.println("netzero(String): " + e.getMessage()); 


    public ResultSet executeQuery(String sql) throws SQLException 

    conn = DriverManager.getConnection(connURL); 
    stmt = conn.createStatement(); 
    rs = stmt.executeQuery(sql); 
    return rs; 
    } public boolean closeConn() 

    try 

    if (rs!=null) rs.close(); 
    if (stmt!=null) stmt.close(); 
    if (conn!=null) conn.close(); 
    return true; 

    catch ( SQLException ex ) 

    System.err.println("closeConn: " + ex.getMessage()); 
    return false; 

    } } 
      

  3.   

    import java.sql.*;public class faq {
    String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String sConnStr = "jdbc:microsoft:sqlserver://192.168.0.206:1433;DatabaseName=source_index_db";
    Connection conn = null;
    ResultSet rs = null;public faq() 
    {
    try {
         Class.forName(sDBDriver);
         conn = DriverManager.getConnection(sConnStr,"sa","2394232");
        }
    catch(java.lang.ClassNotFoundException e) 
        {
        System.err.println("faq(): " + e.getMessage());
        }
    catch(SQLException ex) 
        {
        System.err.println("aq.executeQuery: " + ex.getMessage());
        }
    }
    public ResultSet executeQuery(String sql) 
    {
      rs = null;
      try 
        {
        Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
        rs = stmt.executeQuery(sql);
        }
      catch(SQLException ex) 
        {
        System.err.println("aq.executeQuery: " + ex.getMessage());
        }
      return rs;
    }
    }
      

  4.   

    bean忘了加包名:
    package bean;
    在JSP中:
    <jsp:useBean id="work" scope="page" class="bean.faq" />执行查询:
    ResultSet RS = work.executeQuery("SELECT  * FROM table_name ");
      

  5.   

    package BeanLink;import java.text.*;
    import java.util.*;
    import java.sql.*;
    import java.io.*;public class DBBean
    {
    String sDBDriver = "";//数据库驱动
    String sConnStr = "";//数据库连接
    String suser = "";//用户名
    String spass = "";//密码
    String sHint = "";//提示信息
    ResultSet rs = null;//结果数据集
    Connection conn = null;
    Statement stmt = null;
    //返回提示信息
    public String getHint()
    {
    return sHint;


    //设置数据库驱动
    public void setDBDriver(String s)
    {
    sDBDriver = "" + s;
    }
    //返回数据库驱动
    public String getDBDriver()
    {
    return sDBDriver;
    }
    //设置数据库连接
    public void setConnStr(String s)
    {
    sConnStr = "" + s;
    }
    //返回数据库连接
    public String getConnStr()
    {
    return sConnStr;
    }
    //返回结果数据集
    public ResultSet getResultSet()
    {
    return rs;
    }
    //初始化数据库
    public boolean Initialization(String dbDrive,String dbConn,String user,String pass)
    {
    sDBDriver = dbDrive;
    sConnStr = dbConn;
    suser = user;
    spass = pass;
    try{
       Class.forName(sDBDriver);
       sHint = "Initialisation sucessfully";
       return true; 

    } catch(java.lang.ClassNotFoundException e)
    {
    sHint = "Initialisation :" + e.getMessage();
    return false;
    }
    }
    //执行SQL语句,返回一个数据集
    public ResultSet executeQuery(String sql)
    {
    rs = null;
    try
    {
    conn = DriverManager.getConnection(sConnStr,suser,spass);
    stmt = conn.createStatement();
    rs = stmt.executeQuery(sql);
    }
    catch(SQLException ex)
    {
    sHint = "executeQuery:" + ex.getMessage();
    }
    return rs;
        
    }
    //执行一个sql语句,但不返回数据集
    public boolean executeUpdate(String sql)
    {
    try
    {
    conn = DriverManager.getConnection(sConnStr,suser,spass);
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    return true;
    }
    catch(SQLException ex)
    {
    sHint = "executeUpdate;" + ex.getMessage();
    return false;
    }
    }
    //正常关闭所有连接
    public boolean closeConn()
    {
      try {
    if (rs != null)
      rs.close();
    if(stmt != null)
      stmt.close();
    if (conn != null)
      conn.close();
      return true;
         }
        catch (SQLException ex)
         {
          sHint = "closeconn:" + ex.getMessage();
          return false;
         }     
    }

    }
      

  6.   

    我随身携带的bean,献丑了
    package k_javaServlet;//建立和数据库的连接
    //yxy
    //12.9
    import java.sql.*;
    import java.io.*;
    import javax.servlet.http.*;public class k_Connection implements HttpSessionBindingListener, Serializable { private Connection m_con=null;
     private String  m_className="com.microsoft.jdbc.sqlserver.SQLServerDriver";
     private String m_user="sa";
     private String m_password=null;
     private String m_databaseName="pubs";
     private String m_IPAdress="127.0.0.1";
     private String m_url="jdbc:microsoft:sqlserver://192.168.0.32:1433;DatabaseName=pubs";
     //定义连接字符串
     private String m_connectString=null;  public k_Connection(){
        this.buildConnection();
      }  public k_Connection(String user,String password,String databasename,String ip){
        this.setDatabasePara(user,password,databasename,ip);
        this.buildConnection();
      }  public void setDatabasePara(String user,String password,String databasename,String ip)
      {
        this.m_user=user;
        this.m_password=password;
        this.m_databaseName=databasename;
        this.m_IPAdress=ip;
        this.m_connectString="jdbc:microsoft:sqlserver://"+this.m_IPAdress+":1433;DatabaseName="
            +this.m_databaseName;
      }  public void setURL(String url)
      {
        this.m_url=url;
      }  //得到连接字符串
      public String getConString()
      {
        return this.m_connectString;
      }  //建立一个数据库的连接
      private void buildConnection()
      {
        try{
          if(this.m_connectString==null)
            this.m_connectString=this.m_url;
          Class.forName(this.m_className);
          this.m_con=DriverManager.getConnection(this.m_connectString,this.m_user,this.m_password);
        }
        catch(Exception ex)
        {
          System.out.println(ex.toString());
        }
      }  public void valueBound(HttpSessionBindingEvent event) {
        /**@todo Implement this javax.servlet.http.HttpSessionBindingListener method*/
          }  public void valueUnbound(HttpSessionBindingEvent event) {
        /**@todo Implement this javax.servlet.http.HttpSessionBindingListener method*/
        if(this.m_con!=null)
          this.close();
      }  public Connection getConnection()
      {
        if(this.m_con==null)
          this.buildConnection();
        return this.m_con;
      }  public void close()
      {
        try{
          this.m_con.close();
          this.m_con=null;
        }
        catch(Exception ex)
        {
          ex.printStackTrace();
        }
      }
    }
      

  7.   

    http://www.csdn.net/develop/Read_Article.asp?Id=9820
    http://www.csdn.net/develop/Read_Article.asp?Id=9825
      

  8.   

    krack2002() 
    实用中都得建立连接池?
    有这样的例子吗?谢谢