はじめに
Apache iBATISはSQLを利用することに注力したフレームワークです。高機能なO/Rマッピングフレームワークに比べて簡単に理解でき、レガシーなJDBC、ResultSetを使ったプログラミングから簡単に乗り換えられます。特にSQLを多用する人には使いやすいフレームワークです。
この記事は前回、前々回の記事の続編です。今回はiBATISの機能を拡張する方法として、検索結果をCSVデータとして出力する方法と、データベースのデータから任意のデータ型に交換する方法を紹介します。
iBATISの基本的な内容は、以前の記事を参考にしていただけると分かりやすいと思います。
過去の記事
対象読者
- Javaの基本をマスターしている人
- SQL文を理解している人
必要な環境
iBATIS 2.3.0、J2SE 5.0の環境を前提に解説しています。データベースの選択は自由ですが、サンプルプログラムはHSQLDBで動作確認しています。
本記事で使用しているデータベースは3つのテーブルを使用しています。
CREATE TABLE DEPT ( DEPTNO NUMERIC(2) NOT NULL, DNAME VARCHAR(14), LOC VARCHAR(13), CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO) ); CREATE TABLE EMP ( EMPNO NUMERIC(4) NOT NULL, ENAME VARCHAR(10), JOB VARCHAR(9), MGR NUMERIC(4), HIREDATE DATE, SAL NUMERIC(7,2), COMM NUMERIC(7,2), DEPTNO NUMERIC(2) NOT NULL, CONSTRAINT PK_EMP PRIMARY KEY (EMPNO) ); CREATE TABLE EMPIMAGE( EMPNO NUMERIC(4) NOT NULL, IMG LONGVARBINARY, CONSTRAINT PK_EMPIMAGE PRIMARY KEY(EMPNO) );
DEPT、EMPテーブルについては、以前の記事で使用したものと同じです。
添付のサンプルソースコードには、HSQLDBにおけるCREATE TABLE文とサンプルデータを同梱しています。