<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    一個(gè)通用性還不錯(cuò)的JDBC

    Posted on 2009-05-19 09:42 Gavin.lee 閱讀(313) 評(píng)論(0)  編輯  收藏 所屬分類: JDBC
    這個(gè)DB Bean 用起來還不錯(cuò)。挺好的,我在project2中就用這個(gè),感覺很好用。性能也還不錯(cuò)。比我上一次發(fā)布的明顯要好的多:


    db.properties:
    driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
    url=jdbc:sqlserver://localhost:1433;databaseName=bank;
    username=sa
    password=pass


    load db.properties into program:
    package commons.util;

    import
     java.util.ResourceBundle;
    /**
     * @descripte load resource
     * 
    @author Gavin.lee
     * @date 2009-5-19上午09:49:32
     * 
    @version
     1.0
     *
     
    */

    public class ResourceLoader {
        
    private
     ResourceBundle resBundle;
        
        
    public ResourceLoader(String resourceName) 
    {
            resBundle 
    =
     ResourceBundle.getBundle(resourceName);
        }

        
        
    public String getString(String key) {
            
    return
     resBundle.getString(key);
        }

    }


    connection provider:
    package commons.util;

    import java.sql.*
    ;
    /**
     * @descripte connection provider
     * 
    @author Gavin.lee
     * @date 2009-5-19上午09:49:08
     * 
    @version
     1.0
     *
     
    */

    public class ConnectionProvider {
        
    private
     String driverClassName;
        
    private
     String url;
        
    private
     String username;
        
    private
     String password;
        
        
    public ConnectionProvider() 
    {
            ResourceLoader loader 
    = new ResourceLoader("db"
    );
            
    this.driverClassName = loader.getString("driverClassName"
    );
            
    this.url = loader.getString("url"
    );
            
    this.username = loader.getString("username"
    );
            
    this.password = loader.getString("password"
    );
        }

        
        
    public Connection getConnection() {
            
    return this
    .getsqlconnection();
        }

        
        
    private Connection getsqlconnection() {
            Connection conn 
    = null
    ;
            
    try 
    {
                Class.forName(driverClassName);
                conn 
    =
     DriverManager.getConnection(url,username, password);
            }
     catch(Exception e) {
                e.printStackTrace();
            }

            
    return conn;
        }

    }



    example:
    ConnectionProvider cp = new ConnectionProvider();
    /**
         * 開戶的帳號(hào)通過驗(yàn)證后就通過此方法向表中插入新的記錄。
         * 
         
    */

        
    public boolean addAccount(Account account){
            String sql 
    = "insert into account(accountID,password,name,sex,idcard,balance) values(?,?,?,?,?,?)"
    ;
            
    try
    {
                Connection conn 
    =
     cp.getConnection();
                PreparedStatement ps 
    =
     conn.prepareStatement(sql);
                ps.setString(
    1
    ,account.getAccountID());
                ps.setString(
    2
    , account.getPassword());
                ps.setString(
    3
    ,account.getName());
                ps.setString(
    4
    ,account.getSex());
                ps.setString(
    5
    , account.getIdcard());
                ps.setDouble(
    6
    , account.getBalance());
                ps.execute();
                
                ps.close();
                conn.close();
                
    return true
    ;
            }
    catch(Exception e){
                e.printStackTrace();
            }

            
    return false;
        }




    /**
         * 刪除記錄
         
    */

        
    public boolean deleteAccount(String accountID){
            Connection conn 
    =
     cp.getConnection();
            String sql 
    = "delete account where accountID=?"
    ;        
            
    try 
    {
                PreparedStatement ps 
    = conn.prepareStatement(sql);//PrepareStatement接口: 用戶封裝SQL語(yǔ)句

                ps.setString(1,accountID);
                
    if(ps.executeUpdate() != 0)
    {//對(duì)于DML語(yǔ)句,executeUpdate返回的是影響的行數(shù)
                    return true;
                }

                ps.close();
                conn.close();                
            }
     catch (SQLException e) {
                e.printStackTrace();
            }
            
            
    return false
    ;
        }



    /**
         * 用于客戶修改密碼,轉(zhuǎn)賬,存取款,凍結(jié),解凍
         
    */

        
    public boolean updateAccount(Account account){
            String sql 
    = "update account set password=?,balance=?,isfreezed=? where accountID=?"
    ;
            
    try
    {
                Connection conn 
    =
     cp.getConnection();
                PreparedStatement ps 
    =
     conn.prepareStatement(sql);
                ps.setString(
    1
    , account.getPassword());
                ps.setDouble(
    2
    , account.getBalance());
                
    /* isfreezed */

                ps.setInt(
    3,account.getIsfreezed());
                ps.setString(
    4
    ,account.getAccountID());
                ps.execute();
                ps.close();
                conn.close();
                
    return     true
    ;
            }
    catch(Exception e){
                e.printStackTrace();
            }

            
    return false;
        }


    //這個(gè)在登陸的時(shí)候就給初始化bean的信息
    public Account findAccountById(String accountID){
            Connection conn 
    =
     cp.getConnection();
            Account account 
    = new
     Account();
            String sql 
    = "select * from account where accountID=?"
    ;
            
    try

                PreparedStatement ps 
    =
     conn.prepareStatement(sql);
                ps.setString(
    1
    ,accountID);
                ResultSet rs 
    = ps.executeQuery();//rs是滿足條件的查詢結(jié)果集        

                if(rs.next()){//初始狀態(tài)指向結(jié)果集第一條前
                    account.setAccountID(rs.getString("accountID"));
                    account.setPassword(rs.getString(
    "password"
    ));
                    account.setName(rs.getString(
    "name"
    ));
                    account.setSex(rs.getString(
    "sex"
    ));
                    account.setIdcard(rs.getString(
    "idcard"
    ));
                    account.setBalance(rs.getDouble(
    "balance"
    ));
                    account.setIsfreezed(rs.getInt(
    "isfreezed"
    ));
                    
    return
     account;
                }

                rs.close();
                ps.close();
                conn.close();
                
    //return account;
            }
    catch(Exception e){
                e.printStackTrace();
            }
    主站蜘蛛池模板: 在线免费观看色片| 亚洲一级片内射网站在线观看| 免费国产怡红院在线观看| 国产v亚洲v天堂无码网站| 亚洲日韩看片无码电影| 最近免费中文字幕中文高清| 99视频在线精品免费观看6| 亚洲精品成人无限看| 亚洲精品亚洲人成在线| 免费人成毛片动漫在线播放| 免费看片A级毛片免费看| 亚洲人成影院在线| 九九九精品视频免费| 免费在线看v网址| 久久久久久久尹人综合网亚洲| 亚洲日本成本人观看| 一级毛片免费播放| 亚洲性日韩精品国产一区二区| 亚洲乱码卡一卡二卡三| 免费人成激情视频在线观看冫| 国产又黄又爽又猛的免费视频播放 | 亚洲熟妇av一区二区三区漫画| 亚洲人配人种jizz| 国产免费无码AV片在线观看不卡 | 亚洲国产小视频精品久久久三级| 亚洲成a人片7777| a毛片在线看片免费| 四虎在线播放免费永久视频 | 在线精品自拍亚洲第一区| 18禁无遮挡无码国产免费网站| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 国产免费啪嗒啪嗒视频看看| 亚洲网站在线播放| 成人影片一区免费观看 | 免费a级黄色毛片| 亚洲中文无码mv| 91久久精品国产免费直播| 国产亚洲美女精品久久久久狼| 免费国产草莓视频在线观看黄| 一二三四免费观看在线电影| 亚洲日本va午夜中文字幕一区|