2007/09/14

ibatisのはまりどころ:JDBCタイプのARRAYを利用する

いやー、ぜんぜんドキュメントがないのでまいりました。はまること1時間。やっとみつけました。
これはツールadabarで行う方法ですが直接SQLMAP.xmlに記述でもできると思います。
ではそのやりかたですが


javaType="int" jdbcType="INTEGER" />
javaType="String" jdbcType="VARCHAR" />
javaType="int" jdbcType="INTEGER" />
javaType="java.sql.Array" jdbcType="ARRAY"
typeHandler="com.ibatis.sqlmap.engine.type.ObjectTypeHandler" />


ポイントはtypeHandlerの指定とそれをフルパスで指定すること

そうすれば以下のように
ShainDAO dao =
(ShainDAO) daoManager.getDao(ShainDAO.class);
Shain shain = new Shain();
// shain.setShainId(111);
shain = dao.selectByPrimaryKey(111);
System.out.println(shain.getShainName());
String[] a = (String[])shain.getColary().getArray();
System.out.println(a[0]);

で取得できます。
ibatis便利だー。

0 件のコメント: