| 
 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectcom.ibatis.sqlmap.engine.type.BaseTypeHandler
org.springframework.orm.ibatis.support.AbstractLobTypeHandler
jp.terasoluna.fw.orm.ibatis.support.BlobInputStreamTypeHandler
public class BlobInputStreamTypeHandler
iBATISから利用されるBLOBとストリームをマッピングする実装のiBATISのタイプハンドラ。
BLOB列をバイト配列として扱う場合、本クラスを利用する必要がない。 バイト配列として扱うと、 BLOB列で扱うデータが巨大でメモリエラーが発生したり、 性能要件が満たせない場合のみ、本クラスを利用すること。
 内部でSpringが提供しているLobHandlerを利用しているため、
 本クラスを利用するためには、LobHandlerのBean定義とsqlMapClientFactoryBeanへの設定を行うこと。
 なお、LobHandlerの実装クラスは、Springが提供している。
 ※ Oracleの場合は、OracleLobHandler、その他の場合は、DefaultLobHandlerを利用すること。
 
  【Bean定義ファイルの設定例】
 
   <!-- LOBフィールドを扱うためのハンドラ -->
   <bean id="oracleLobHandler"
            class="org.springframework.jdbc.support.lob.OracleLobHandler">
     <property name="nativeJdbcExtractor" ref="simpleExtractor"/>
   </bean>
   <!-- iBATIS データベース層のためのSQlMapの設定 -->
   <bean id="sqlMapClient"
       class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
     <property name="configLocation" value="WEB-INF/sql-map-config.xml"/>
     <property name="dataSource" ref="dataSource"/>
     <property name="lobHandler" ref="oracleLobHandler"/>
   </bean>
 
本クラスを利用したiBATIS設定ファイルの記述方法を以下にしめす。
  【BLOB_TESTテーブル定義】
   
| 列名 | 型 | 制約 | 
|---|---|---|
| PK | INTEGER | NOT NULL | 
| MAP | BLOB | NOT NULL | 
  【iBATIS設定ファイルの設定例】
 
 <!-- update文の設定 -->
 <parameterMap id="blobParam" class="java.util.Map">
   <parameter property="pk"/>
   <parameter property="map"
       typeHandler="jp.terasoluna.fw.orm.ibatis.support.BlobInputStreamTypeHandler"/>
 </parameterMap>
 <insert id="insertBLobTest" parameterMap="blobParam">
   INSERT INTO BLOB_TEST (PK, MAP) VALUES (?, ?)
 </insert>
 <!-- select文の設定 -->
 <resultMap id="blobResult" class="java.util.HashMap">
   <result property="pk"/>
   <result property="map"
       typeHandler="jp.terasoluna.fw.orm.ibatis.support.BlobInputStreamTypeHandler"/>
 </resultMap>
 <select id="selectBLobTest" resultMap="blobResult">
   SELECT PK, MAP FROM BLOB_TEST
 </select>
 
| フィールドの概要 | 
|---|
| クラス org.springframework.orm.ibatis.support.AbstractLobTypeHandler から継承されたフィールド | 
|---|
| LOB_CREATOR_SYNCHRONIZATION_ORDER | 
| コンストラクタの概要 | |
|---|---|
|   | BlobInputStreamTypeHandler()コンストラクタ。 | 
| protected  | BlobInputStreamTypeHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)コンストラクタ。 | 
| メソッドの概要 | |
|---|---|
| protected  java.lang.Object | getResultInternal(java.sql.ResultSet rs,
                  int index,
                  org.springframework.jdbc.support.lob.LobHandler lobHandler)結果を取得する。 | 
| protected  void | setParameterInternal(java.sql.PreparedStatement ps,
                     int index,
                     java.lang.Object value,
                     java.lang.String jdbcType,
                     org.springframework.jdbc.support.lob.LobCreator lobCreator)パラメータを設定する。 | 
|  java.lang.Object | valueOf(java.lang.String s)文字列を本Handlerが扱う型に変換する。 | 
| クラス org.springframework.orm.ibatis.support.AbstractLobTypeHandler から継承されたメソッド | 
|---|
| getResult, getResult, getResult, setParameter | 
| クラス com.ibatis.sqlmap.engine.type.BaseTypeHandler から継承されたメソッド | 
|---|
| equals | 
| クラス java.lang.Object から継承されたメソッド | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| コンストラクタの詳細 | 
|---|
public BlobInputStreamTypeHandler()
protected BlobInputStreamTypeHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
lobHandler - LobHandler| メソッドの詳細 | 
|---|
protected void setParameterInternal(java.sql.PreparedStatement ps,
                                    int index,
                                    java.lang.Object value,
                                    java.lang.String jdbcType,
                                    org.springframework.jdbc.support.lob.LobCreator lobCreator)
                             throws java.sql.SQLException
org.springframework.orm.ibatis.support.AbstractLobTypeHandler 内の setParameterInternalps - セット先のPreparedStatementindex - パラメータのインデックスvalue - セットするパラメータjdbcType - パラメータのJDBC型lobCreator - 利用するLobCreator
java.sql.SQLException - SQL例外
protected java.lang.Object getResultInternal(java.sql.ResultSet rs,
                                             int index,
                                             org.springframework.jdbc.support.lob.LobHandler lobHandler)
                                      throws java.sql.SQLException
org.springframework.orm.ibatis.support.AbstractLobTypeHandler 内の getResultInternalrs - 取得元のResultSetindex - ResultSetのインデックスlobHandler - 利用するLobHandler
java.sql.SQLException - SQL例外public java.lang.Object valueOf(java.lang.String s)
s - 文字列
| 
 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||