Home   Single Page

JDBCを使用する最も簡単な方法(しかし、推奨しません)

JDBCチュートリアルが薦めるように、JDBCを使用する最も簡単な方法はjava.sql.DriverManagerを使用することです。MySQL[65]データベースにメールと名前を保存する例が以下になります。

<window title="JDBC demo" border="normal">
    <zscript><![CDATA[    
    import java.sql.*;    
    void submit() {    
        //load driver and get a database connetion        
        Class.forName("com.mysql.jdbc.Driver");        
        Connection conn = DriverManager.getConnection(        
            "jdbc:mysql://localhost/test?user=root&password=my-password");            
        PreparedStatement stmt = null;        
        try {        
            stmt = conn.prepareStatement("INSERT INTO user values(?, ?)");            

            //insert what end user entered into database table            
            stmt.set(1, name.value);            
            stmt.set(2, email.value);            

            //execute the statement            
            stmt.executeUpdate();            
        } finally { //cleanup        
            if (stmt != null) {            
                try {                
                    stmt.close();                    
                } catch (SQLException ex) {                
                    log.error(ex); //log and ignore                    
                }                
            }            
            if (conn != null) {            
                try {                
                    conn.close();                    
                } catch (SQLException ex) {                
                    log.error(ex); //log and ignore                    
                }                
            }            
        }        
    }    
]]>
    </zscript>    
    <vbox>    
        <hbox>Name : <textbox id="name"/></hbox>        
        <hbox>Email: <textbox id="email"/></hbox>        
        <button label="submit" onClick="submit()"/>        
    </vbox>    
</window>

この方法は簡単ですが、お勧めしません。なぜならZKアプリケーションはウェブをベースにしているアプリケーションであるからです。読み込みはいつ起こるか予想できません。データベースとの接続は効率的に行わなければなりません。

幸い、J2EEフレームワークとウェブサーバーはコネクションプーリングと呼ばれる機能を提供しています。この機能は簡単に使用できるし、データベースとの接続を管理することもできます。次のセクションで詳しく話します。

【ヒント】:ほかのウェブアプリケーションとは違って、ZKにてDriverManagerを 使用することは可能です。(ただし、推奨はしません)。はじめに、デスクトップの中でコネクションをキャッシュし、イベントに使用します(何度も使用する ことができます)。デスクトップが無効になったら閉じます。伝統的なクライアント/サーバーアプリケーションのように動きます。この方法は、クライアント /サーバーアプリケーションのように、同時に使用しているユーザー数が制限されています。(超えると、効率が低下します)。デスクトップが無効になったこ とを知るために、org.zkoss.zk.ui.utilDesktopCleanupの使用でリスナを実装しなければなりません。