PreparedStatement upStatement = null;
Connection connection = null;
connection = getConnection(sclMiddleTble);
connection.setAutoCommit(false);
String updateMess = "UPDATE tableName"
" SET STATUS = ?, EXCEPTION_MESS = ?,BACK_TIME=?,BACK_DATE=? WHERE ID = ?";
upStatement = connection.prepareStatement(updateMess);
//构建一个java.sql.Date对象
java.sql.Date date = new java.sql.Date(new Date().getTime());
//构建一个java.sql.Timestamp对象
java.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());
upStatement.setInt(1, 3);
upStatement.setString(2, "EXCEPTION_MESS");
upStatement.setTimestamp(3,timestamp);
upStatement.setDate(4, date);
upStatement.setLong(5, id);
upStatement.execute();
connection.commit();
upStatement.close();
connection.close();
public Connection getConnection(String beanId) {
Connection conn = null;
DataSource ds = DataSourceFactory.getDataSourceFactory(beanId);
try {
conn = ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
dataSourceContext.xml
<bean id="sclMiddleTble" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"> <value>oracle.jdbc.OracleDriver</value> </property> <property name="url"> <value>jdbc:oracle:thin:@localhost:1521:jqwlscl</value> </property> <property name="username"> <value>middleTable</value> </property> <property name="password"> <value>middleTable</value> </property> <property name="initialSize" value="30"/> <property name="maxActive" value="500"/> <property name="maxIdle" value="2"/> <property name="minIdle" value="1"/> </bean>
数据库操作与事务管理
本文详细介绍了使用PreparedStatement进行数据库更新操作的过程,包括设置自动提交为false,构建SQL更新语句,以及如何正确设置参数类型。此外,文章还展示了如何通过Connection的commit()方法提交事务,确保数据的一致性和完整性。
585

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



