不对。
我统一whiteshen的说法

解决方案 »

  1.   

    这样当然不好,你把连接搞进来。
    如果换个环境,你所有的bean都得改,累得不行。
      

  2.   

    这样当然不好,你把连接搞进来。
    如果换个环境,你所有的bean都得改,累得不行。
      

  3.   

    不是很好,首先数据库最好作为一个单独的bean,在以后应用中可以设为session变量,其他bean可以接受它传入的参数,这样数据库的压力也不是特别大。变量全是private太绝对了,如果要好的习惯的话,可以加一个error的显示的变量public
      

  4.   

    这是我的:
    //连接数据库
    package com.data;
    import java.sql.*;
    import java.util.*;
    public class DBConnect  
    {
    private Connection con=null;
    private ResultSet rs=null;
    private Statement stmt=null;
    //private String strDRV="sun.jdbc.odbc.JdbcOdbcDriver";
    private String strDRV="sun.jdbc.odbc.JdbcOdbcDriver";
    private String strURL="jdbc:odbc:mysite"; public DBConnect(){
    try{
        Class.forName(strDRV);
            con=DriverManager.getConnection(strURL,"","");      }catch(Exception e){
        System.out.print("Error is:"+e);
        }
       }
    public Connection getConn()
    {
    return con;
    }
    public ResultSet executeQuery(String sql)
    {
    try{
    stmt=con.createStatement();
    rs=stmt.executeQuery(sql);
    }catch(Exception e){
    System.out.print("Error in query:"+e);
    }
    return rs;
    }
    public int executeUpdate(String sql)
    {
    int flag=0;
    try{
    stmt=con.createStatement();
    flag=stmt.executeUpdate(sql);
    }catch(Exception e){
    }
    return flag;
    }
    public void destroy()
    {
    try{
    stmt.close();
    }catch(Exception e){
    }
    try{
    con.close();
    }catch(Exception e){
    }
    }
    }
    //操作数据库
    import java.sql.*;
    public class  KeyDB
    {
    private Connection con=null;
    private static final String sql_insert="insert into test(id,content) values(?,?)";
    private static final String sql_query="select * from test";
    private static final String sql_queryid="select * from test where id=?";
    private String id=null;
    private String content=null;
    private KeyModel km=null;
    private String go=null;
    public String toString()
    {
    return go;
    }
    public int executeInsert(Connection con,KeyModel km)
    {
    this.con=con;
    this.km=km;
    setKm();
    return executeInsert();
    }
    public int executeInsert()
    {
    int i=0;
    try{
    byte bs[]=new xiao().encrypt(content);
    PreparedStatement pstm=con.prepareStatement(sql_insert);
    pstm.setString(1,id);
    pstm.setBytes(2,bs);
    i=pstm.executeUpdate();
    go=new xiao().uncrypt(bs);
    }catch(Exception e)
    {
    i=-1;
    }
    return i;
    }
    public KeyModel executeQueryId(Connection con,String id)
    {
    this.con=con;
    this.id=id;
    return executeQueryId();
    }
    public KeyModel executeQueryId()
    {
    KeyModel kml=new KeyModel();
    try{
    PreparedStatement pstm=con.prepareStatement(sql_queryid);
    pstm.setString(1,id);
    ResultSet rs=pstm.executeQuery();
    if(rs.next())
    {
    kml.setId(id);
    byte bl[]=rs.getBytes("content");
    String str=new xiao().uncrypt(bl);
    kml.setContent(str);
    }
    }catch(Exception e)
    {
    System.out.print("err in KeyModel executeQueryId()!");
    }
    return kml;
    }
    public KeyVector executeQuery(Connection con)
    {
    this.con=con;
    return executeQuery();
    }
    public KeyVector executeQuery()
    {
    KeyVector kv=new KeyVector();
    try{
    PreparedStatement pstm=con.prepareStatement(sql_query);
    ResultSet rs=pstm.executeQuery();
    while(rs.next())
    {
    byte bl[]=rs.getBytes("content");
    id=rs.getString("id");
    String str=new xiao().uncrypt(bl);
    KeyModel km=new KeyModel(id,str);
    kv.add(km);
    }
    }catch(SQLException e)
    {
    System.out.println("err in KeyDB executeQuery()!");
    }
    return kv;
    }
    private void setKm()
    {
    this.id=km.getId();
    this.content=km.getContent();
    }
    }
    //数据模型
    public class KeyModel 
    {
    private String id=null;
    private String content=null;
    public KeyModel(){};
    public KeyModel(String id,String content)
    {
    this.id=id;
    this.content=content;
    }
    public void setId(String id)
    {
    this.id=id;
    }
    public void setContent(String content)
    {
    this.content=content;
    }
    public String getId()
    {
    return id;
    }
    public String getContent()
    {
    return content;
    }
    }
    //多个数据的
    import java.util.Vector;
    public class KeyVector 
    {
    Vector vt=null;
    public KeyVector()
    {
    vt=new Vector();
    }
    public void add(KeyModel km)
    {
    vt.add(km);
    }
    public KeyModel get(int index)
    {
    return (KeyModel)vt.get(index);
    }
    public int size()
    {
    return vt.size();
    }
    }
    仅供参考!
      

  5.   

    sql语句和操作数据库的放在一起.
      

  6.   

    To  xiaofenguser(风雨):
       请教你的这个数据模型public class KeyModel 
    有什么意义和作用么??谢谢