<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();
            }
    主站蜘蛛池模板: 无码国产精品一区二区免费式影视 | 国产小视频在线观看免费| 亚洲成_人网站图片| 亚洲黄色网站视频| 青草久久精品亚洲综合专区| 97在线视频免费公开视频| 久久久久久久免费视频| 亚洲精品中文字幕麻豆| 女同免费毛片在线播放| 国产一区二区三区在线免费 | 亚洲日韩国产精品乱| 亚洲电影免费观看| 1000部拍拍拍18勿入免费视频软件 | 亚洲精品WWW久久久久久| 久久精品成人免费国产片小草| 久久久青草青青国产亚洲免观| 亚洲va久久久久| 国产黄色片在线免费观看| 精品亚洲aⅴ在线观看| 久久99久久成人免费播放| 亚洲综合AV在线在线播放| 日韩精品在线免费观看| 亚洲国产精品久久久久秋霞影院| 亚洲av永久无码精品网址| 国产精品另类激情久久久免费 | 久久精品免费观看国产| 亚洲成综合人影院在院播放| 女人被弄到高潮的免费视频 | 日本精品人妻无码免费大全 | 无人视频在线观看免费播放影院| 成人影片麻豆国产影片免费观看| 午夜在线亚洲男人午在线| 永久亚洲成a人片777777| 51在线视频免费观看视频| 亚洲人成电影在在线观看网色| 免费观看美女用震蛋喷水的视频| 亚洲国产精品自在自线观看 | mm1313亚洲精品国产| 无码日韩精品一区二区免费暖暖| 亚洲黄色激情视频| 久久久久国产成人精品亚洲午夜 |