JavaBeansを使ったSQL操作
|
今回は、JavaBeansを使ってデータベースの処理を行います。
サーブレットから、データベース処理を分離します。JavaBeansを使う事によって、他のサーブレットやJSPから呼び出して使う事が出来、汎用性を高める事が出来ます。 |
JavaBeansで行う事は、データベースの読み込みや更新、追加などですが、まずデータの追加を行うJavaBeansを作成していきたいと思います。
まず、「SqlInsBean.java」というファイルを作成し、このファイルにJavaBeansのコードを記述していきたいと思います。
クラス名は「SqlInsBean」となります。
データベースを実行させるために必要なDataSourceやSql文はサーブレットから受け取るようにしています。
public void setds(DataSource ds){
this.ds = ds;
}
public void setSql(String sql){
this.sql = sql;
} |
JavaBeansのソースコードに上記を記述しておく事で、サーブレットから、DataSoueceやSqlを受け取る事が出来るようになります。
public int getResult() {
try{
con = this.ds.getConnection();
Statement statement = con.createStatement();
statement.executeUpdate(this.sql);
statement.close();
con.close();
ret_cd = 0;
}
catch(SQLException ex){
ex.printStackTrace();
ret_cd = -1;
}
return ret_cd;
} |
取得したsql文を元にデータの追加を行うわけですが、上記のようにコードを記述し、データの登録を行います。
このBeansでは、あらかじめサーブレットで作成したsql文をそのまま実行するようにしているので、記述としては、非常にシンプルになっています。
他にも、テーブル名や項目名、データなどをBeans上でセットする方法もあるのですが、今回はとりあえず、サーブレットですでに作っているものをある程度利用しようとおもってこのような形にしました。
下記が「SqlInsBean.java」のプリグラムです。
package type;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletContext;
import javax.sql.DataSource;
public class SqlInsBean {
DataSource ds;
Connection con = null;
ServletContext servletContext;
String sql;
int ret_cd;
public void setds(DataSource ds){
this.ds = ds;
}
public void setSql(String sql){
this.sql = sql;
}
public int getResult() {
try{
con = this.ds.getConnection();
Statement statement = con.createStatement();
statement.executeUpdate(this.sql);
statement.close();
con.close();
ret_cd = 0;
}
catch(SQLException ex){
ex.printStackTrace();
ret_cd = -1;
}
return ret_cd;
}
}
|
|
Beansがとりあえず出来ましたので、サーブレットから呼び出す方法を紹介していきたいと思います。
SqlInsBean sqlins = new SqlInsBean();
sqlins.setds(ds);
sqlins.setSql(sql);
ret_cd = sqlins.getResult(); |
一番最初はBeansの宣言で2行目がDataSourceのセット、3行目がSql文のセット、4行目に追加処理を行い、結果をret_cdに返しています。
Beans内では、getResult内で実行される様に記述していますので、
DataSourceとsqlをセットしてから、getResultを呼び出す事で、SQLを実行させています。
ret_cdを確認する事で、処理が正常に出来ているかどうか、判断できるので、エラーの場合には、処理をやり直すようにサーブレットを変更します。
|
今回はJavaBeansの使い方のごく一部を紹介しました。
この処理は実際に学校でテストした際にエラーが起こる事があり、対応をしていかないと運用できないと判断し、急遽Beansに変更しました。
今後も随時変更した内容なども紹介していきたいと思います。
開発の流れがわかりにくいかもしえれませんが、よろしくお願いします。 |
管理プログラム4 UP AVABeansを使ったSQL操作2 |
|