long 타입 변환
클래스를 만든다.
public class CLOBHandler implements TypeHandler {
//Statement 로 호출해서 ResultSet 의 컬럼이름을 읽어올 때
@Override
public Object getResult(ResultSet rs, String columnName) throws SQLException {
return rs.getString(columnName);
}
//Statement 로 호출해서 ResultSet 의 컬럼인덱스로 읽어올 때
@Override
public Object getResult(ResultSet rs, int columnIndex) throws SQLException {
return rs.getString(columnIndex);
}
//CallableStatement로 호출해서 ResultSet 의 컬럼인덱스로 읽어올 때
@Override
public Object getResult(CallableStatement cs, int columnIndex) throws SQLException {
return cs.getString(columnIndex);
}
//Statement의 파라미터를 세팅할 때
@Override
public void setParameter(PreparedStatement ps, int columnIndex, Object parameter,
JdbcType arg3) throws SQLException {
String s=(String)parameter;
StringReader reader=new StringReader(s);
ps.setCharacterStream(columnIndex, reader, s.length());
}
}
public interface FacebookFeedDAO {
String insert=" insert INTO TBL_FACEBOOK_FEED ( idx, ID, NAME, MESSAGE, PICTURE, CREATED_TIME) "
+ " VALUES ( seq_facebook_feed.nextval , #{id}, #{name}, #{message}, #{picture}, #{created_time} )";
String list=" select * from TBL_FACEBOOK_FEED where id=#{id} order by idx desc";
@Insert(insert)
public void insert(FacebookFeedVO vo);
// preperty="vo 의 변숩명", column="테이블의 컬럼"
//javaType="자바클래스 자료형", jdbcType="컬럼의 자료형"
//typeHandler :jdbcType을 javaType으로 변환해 주는 변환기
@Select(list)
@Results(value={
@Result(property="id", column="id"),
@Result(property="name", column="name"),
@Result(property="message", column="message"
, javaType=String.class, jdbcType=JdbcType.LONGNVARCHAR
, typeHandler=CLOBHandler.class
),
@Result(property="picture", column="picture"),
@Result(property="created_time", column="created_time"),
})
public List<FacebookFeedVO> list(String id);
}
어노테이션에서 typeHandler = CLOBHandler.class
댓글 ( 4)
댓글 남기기