环境: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());
}});
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());
}});
如下:
<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>