Spring Frameworkのテストは大成功!
卒研のソフトのデータベース層は、Spring Frameworkというフレームワークを使っています。
ずっと、ここの文章を見ていたが、サンプルコード通りで、表示するデータベースクエリの結果は、こんな感じになります:「{name=Bob, id=1}, {name=Mary, id=2}」。
クエリの中身は短くて、簡単な文字列なら、Stringのメソッドで必要な文字列を区切ってやればいいけど、フォーラムやブログのような複雑な長文なら、どうすればいいなのか。コレクションなどを使わないとだめでしょうね。
今 日は、Spring FrameworkのAPIを調べてみたら、実行結果を取得するqueryForList()は、いくつかのオーバーロードのメソッドを用いて、しかも戻 り値がList型と分かった。戻り値はコレクションなら、データテーブルの結果は、列ごと、簡単に分けれるんじゃないか。やってみたら、成功しました。 やっぱり、僕は日本語依存過ぎていましたよね。Spring Frameworkを使うと、そのAPIを調べる常識を忘れてしまった。それじゃ、テスト成功したサンプルコードを貼り付けておきます。
import com.plum.db.*;
import java.util.*;
import org.springframework.jdbc.*;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
/**
* Spring Framework JDBCTemplate test class for Firebird.
*
*@author Loveapple
*@version 20051211
*/
public class DBSample {
public static void main(String[] args) {
final String DBDRIVER = "org.firebirdsql.jdbc.FBDriver";
final String DBUSER = "データベースの管理ID";
final String DBPASSWORD = "パスワード";
final String DBURL = "jdbc:firebirdsql://loveapple.atso-net.jp/データソース";
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(DBDRIVER);
dataSource.setUrl(DBURL);
dataSource.setUsername(DBUSER);
dataSource.setPassword(DBPASSWORD);
JdbcTemplate jt = new JdbcTemplate(dataSource);
ArrayList list = new ArrayList(jt.queryForList("SELECT ID, TITLE, BODY, PERSIMMION FROM CATEGORY WHERE PERSIMMION <= 0"));
HashMap hashMap;
ListIterator it = list.listIterator();
while(it.hasNext()){
hashMap = new HashMap((Map)it.next());
System.out.println(hashMap.get("ID"));
//下は、データを確認するときにテストメッセージを表示
/*System.out.println(it.next());
System.out.println(it.next().getClass().toString());*/
}
}
}
ずっと、ここの文章を見ていたが、サンプルコード通りで、表示するデータベースクエリの結果は、こんな感じになります:「{name=Bob, id=1}, {name=Mary, id=2}」。
クエリの中身は短くて、簡単な文字列なら、Stringのメソッドで必要な文字列を区切ってやればいいけど、フォーラムやブログのような複雑な長文なら、どうすればいいなのか。コレクションなどを使わないとだめでしょうね。
今 日は、Spring FrameworkのAPIを調べてみたら、実行結果を取得するqueryForList()は、いくつかのオーバーロードのメソッドを用いて、しかも戻 り値がList型と分かった。戻り値はコレクションなら、データテーブルの結果は、列ごと、簡単に分けれるんじゃないか。やってみたら、成功しました。 やっぱり、僕は日本語依存過ぎていましたよね。Spring Frameworkを使うと、そのAPIを調べる常識を忘れてしまった。それじゃ、テスト成功したサンプルコードを貼り付けておきます。
import com.plum.db.*;
import java.util.*;
import org.springframework.jdbc.*;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
/**
* Spring Framework JDBCTemplate test class for Firebird.
*
*@author Loveapple
*@version 20051211
*/
public class DBSample {
public static void main(String[] args) {
final String DBDRIVER = "org.firebirdsql.jdbc.FBDriver";
final String DBUSER = "データベースの管理ID";
final String DBPASSWORD = "パスワード";
final String DBURL = "jdbc:firebirdsql://loveapple.atso-net.jp/データソース";
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(DBDRIVER);
dataSource.setUrl(DBURL);
dataSource.setUsername(DBUSER);
dataSource.setPassword(DBPASSWORD);
JdbcTemplate jt = new JdbcTemplate(dataSource);
ArrayList list = new ArrayList(jt.queryForList("SELECT ID, TITLE, BODY, PERSIMMION FROM CATEGORY WHERE PERSIMMION <= 0"));
HashMap hashMap;
ListIterator it = list.listIterator();
while(it.hasNext()){
hashMap = new HashMap((Map)it.next());
System.out.println(hashMap.get("ID"));
//下は、データを確認するときにテストメッセージを表示
/*System.out.println(it.next());
System.out.println(it.next().getClass().toString());*/
}
}
}
コメント
コメントを投稿