文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Java » 一个数据库连接的class       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [讨论] 一个数据库连接的class  ( 查看:157  回复:0 )   
 
amyhang
技术员  点击可查看详细



帖子 88
精华 0
无忧币 2592
积分 306
阅读权限 30
注册日期 2008-4-12
最后登录 2008-9-21 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-5-9 08:43   标题:一个数据库连接的class
上一帖 |
PHP 代码:

package com.ljsilver.util;
import java.sql.*;

public class DatabaseOperate{
    private String Database_host = "localhost:3306";
    private String Database_dsn = "mydb";
    private String Database_user = "user";
    private String Database_pswd = "password";
    private Connection con = null;
    private PreparedStatement ps = null;
    private ResultSet result = null;
    private boolean dirty = false;
    private String sqlStr;
    private String url = "jdbc:mysql://"+Database_host+"/"+Database_dsn+"?user="
        +Database_user+"&password="+Database_pswd
        +"&useUnicode=true&characterEncoding=GBK";

    public DatabaseOperate(String sqlStr){
        this.sqlStr =sqlStr;
        buildConnection();
    }

    public DatabaseOperate(){
    }

    public void buildConnection(){
        try{
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            con = DriverManager.getConnection(url);
            ps=con.prepareStatement(this.sqlStr,
                                        ResultSet.TYPE_SCROLL_INSENSITIVE,
                                        ResultSet.CONCUR_READ_ONLY);
        }
        catch(Exception e){
            System.out.println(e.toString());
        }
    }

    public void setSqlStr(String s){
        this.sqlStr = s;
    }

    public String getSqlStr(){
        return this.sqlStr;
    }

    public void setString(int n,String sqlString) throws  SQLException{
        ps.setString(n,sqlString);
    }

    public void setInt(int n,int sqlInt) throws  SQLException{
        ps.setInt(n,sqlInt);
    }

        public void setBoolean(int i, boolean flag) throws SQLException{
          ps.setBoolean(i, flag);
        }

        public void setDate(int i, Date date) throws SQLException{
          ps.setDate(i, date);
        }

        public void setLong(int i, long l) throws SQLException{
          ps.setLong(i, l);
        }

        public void setFloat(int i, float f) throws SQLException{
          ps.setFloat(i, f);
        }

        public void setBytes(int i, byte abyte0[]) throws SQLException{
          ps.setBytes(i, abyte0);
        }

    public ResultSet getResultSet(){
        try{
            this.result = ps.executeQuery();
        }catch(SQLException sqlex){
            System.out.println(sqlex.toString());
        }
        return this.result;
    }

    public void executeSql(){
        try{
            ps.executeUpdate();
            dirty = true;
        }catch(SQLException sqlex){
            System.out.println(sqlex.toString());
        }
    }

    public boolean getDirty(){
        return this.dirty;
    }

    public void close(){
        try{
            if(result!=null){
                result.close();
                result=null;
            }
            if(ps!=null){
                ps.close();
                ps=null;
            }
            if(con!=null){
                con.close();
                con=null;
            }
        }catch(SQLException sqlex){
            System.out.println(sqlex.toString());
        }
    }
}



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2008-5-9 08:431楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号