[英]Spring JDBCTemplate update statement
在Spring中有一個像下面這樣配置的數據源。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${prop_jdbc.driverClassName}"/>
<property name="url" value="${prop_jdbc.url}"/>
<property name="username" value="${prop_jdbc.username}"/>
<property name="password" value="${prop_jdbc.password}"/>
<property name="initialSize" value="2"/>
<property name="maxActive" value="5"/>
<property name="maxIdle" value="2"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxOpenPreparedStatements" value="-1"/>
<!-- property name="defaultAutoCommit">
<value>false</value>
</property-->
</bean>
現在,我首先使用從上面的dataSource創建的jdbcTemplate進行DROP TABLE,然后在下一條語句中,我再次創建相同的TABLE,最后嘗試立即在第三條語句中將其DROP刪除。
jdbcTemplate.update( dropSql,new Object[] { });
jdbcTemplate.update( createSql,new Object[] { });
jdbcTemplate.update( dropSql,new Object[] { });
在第一個語句之后,Table被立即刪除,第二個語句也立即創建了它,但是第二次,DROP沒有發生..也沒有錯誤。
JdbcTemplate是否立即或定期執行DROP,因為這很難理解,使用相同的數據源,為什么第一次發生在前兩行時第二次DROP不發生。
DDL-例如創建和刪除不是事務性的。 請分享實際執行的ddl。 我建議在沒有實際的SQL來檢查的情況下,在jdbcTemplate上使用execute方法而不是update方法。
您正在做什么,以便在代碼每次失敗嘗試之間刪除表?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.