1.通过jdbc方式存储clob类型数据
private void updateJdbcStudById(SqlMapClient sqlmap, Map inmap){
String infos = (String)inmap.get("infos");
//字符串类型的clob类型
Reader reader = new StringReader(infos);
try {
Connection conn = sqlmap.getDataSource().getConnection();
String sql = "update student set informations = ? where stuno = ?";
PreparedStatement ps = conn.prepareStatement(sql);
//为clob类型赋值
ps.setCharacterStream(1, reader, infos.length());
ps.setString(2, (String)inmap.get("stuno"));
ps.execute();
ps.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2.通过ibatis存取clob类型数据
informations字段配置
private List<Student> queryStudentById(SqlMapClient sqlmap, String studno){
List<Student> lists = new ArrayList<Student>();
try {
lists = sqlmap.queryForList("queryStdById", studno);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return lists;
}
配置文件如下
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<!-- 指定映射,查询clob类型需要指定 -->
<resultMap class="com.dto.Student" id="stumap">
<result property="stuno" column="STUNO"/>
<result property="stuname" column="STUNAME"/>
<result property="stuaddress" column="STUADDRESS"/>
<result property="sex" column="SEX"/>
<result property="notes" column="NOTES"/>
<result property="informations" column="INFORMATIONS" javaType="String" jdbcType="CLOB"/>
</resultMap>
<!-- 查询学生信息 -->
<select id="queryStdById" parameterClass="string" resultMap="stumap">
select stuno,stuname,stuaddress,sex,notes,informations from student where stuno = #stuno#
</select>
<update id="updatestdById" parameterClass="java.util.HashMap">
update student set informations = #infos,javaType=String,jdbcType=CLOB# where stuno = #stuno#
</update>
</sqlMap>
附相关的驱动包
本文介绍了如何使用JDBC和iBatis框架处理CLOB类型的数据,包括通过JDBC更新CLOB数据的方法及利用iBatis进行CLOB数据的查询配置。
2047

被折叠的 条评论
为什么被折叠?



