环境:jdk1.5 oracle92 包是1.32MB的ojdbc14 试过classes12.jar也不好用 spring配置: <bean id="nativeJdbcExtractor"   
    class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"   
     lazy-init="true" />    <!-- 设置本地 Jdbc 对象抽取器--> 
<bean id="oracleLobHandler"   
    class="org.springframework.jdbc.support.lob.OracleLobHandler"   
     lazy-init="true">    
     <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor" />    
</bean> 
Dao中使用注入的lobHandler读取clob字段没问题。 更新的话就不起作用,而且update运行结果返回1 isOk = jdbcTemplate.update("UPDATE Example SET TOPPAGE=?, yuyan = 'chinese' where id = ? 
", new PreparedStatementSetter(){ public void setValues(PreparedStatement ps) throws SQLException { 
// TODO Auto-generated method stub 
lobHandler.getLobCreator().setClobAsString(ps, 1, zsedit); 
ps.setInt(2, example.getId()); 
}}); 

解决方案 »

  1.   

    事务也有啊
    如下:
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
           <property name="dataSource" ref="dataSource"></property>     
         </bean>

    <!-- 事务控制 -->
    <tx:advice id="txAdvice"
    transaction-manager="transactionManager">
    <tx:attributes>
    <tx:method name="save*"  read-only="true" />
    <tx:method name="update*" propagation="REQUIRED"/>
    <tx:method name="del*" propagation="REQUIRED" />
    <tx:method name="get*" read-only="true" />
    </tx:attributes>
    </tx:advice> <aop:config>
    <!-- 管理事务操作 -->
    <aop:pointcut id="servicesPointcut"
    expression="execution(* com.website.model.*.*(..))" />
    <aop:advisor advice-ref="txAdvice"
    pointcut-ref="servicesPointcut" />
    </aop:config>