`

如何在IBatis中使用BLOB和CLOB

阅读更多
下面有一个例子在Ibatis中使用Custom Type Handler (CTH)操作BLOB(二进制字节)和CLOB(字符类型)数据类型。Ibatis2.09后提供了对BLOB和CLOB的支持,下面的例子是 oracle上的但也可以用于任何支持Jdbc的数据库。如果用oracle你需要使用最新的ojbc14.jar。

创建表:


Report.sql


REPORT {
         id              varchar2(5),
         name            varchar2(25),
         description     varchar2(1000),
         data            BLOB
}
创建表对应的POJO:


Report.java


/*
 * Report.java
 *
 * Created on March 23, 2005, 11:00 AM
 */
package reporting.viewer.domain;

/**
 *
 * @author Nathan Maves
 */
public class Report {

    /**
     * Holds value of property id.
     */
    private String id;
    /**
     * Holds value of property name.
     */
    private String name;
    /**
     * Holds value of property description.
     */
    private String id;
    /**
     * Holds value of property data.
     */
    private byte[] data;

    //Standard accessors and mutators

   public byte[] getData() {
       return this.data;
   }

   public void setData(byte[] data) {
       this.data = data;
   }
}


iBatis配置文件:


Report.xml


<typeAlias alias=“Report” type=“reporting.viewer.domain.Report”/>

<resultMap class=“Report” id=“ReportResult”>    
     <result column=“id” property=“id” />        
     <result column=“name” property=“name” />       
     <result column=“description” property=“description” />
     <result column=“data” property=“data” jdbcType=“BLOB“/>
</resultMap>

<select id=“getReportById” parameterClass=“string” resultMap=“ReportResult”>
        SELECT
            *
        FROM
            REPORT
        WHERE
            id = #value#
</select>

<insert id=“insertReport” parameterClass=“Report”>
        INSERT INTO
            REPORT (
                id,
                name,
                description,
                data
                )
            values (
                #id#,
                #name#,
                #description#,
                #data#
            )
</insert>

<update id=“updateReport” parameterClass=“Report”>
        UPDATE REPORT set
                name = #name#,
                description = #description#,
                data = #data#
        WHERE
                id = #id#
</update>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics