0 0

以下更新语句是否需要Commit?不Commit是否会锁表?5

public boolean updatePwd(String id,String newPassword){
boolean success = false;
Connection con = null;
try {
con = ConnectionHelper.getConnection();
PreparedStatement ps = con
.prepareStatement("UPDATE APP.SysUser "
+ "SET PASSWORD=?"
+ " WHERE id=?");

ps.setString(1, newPassword);
ps.setString(2, id);

if (ps.executeUpdate() == 0) {
throw new RuntimeException("SysUser id not found");
}
success = true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
ConnectionHelper.closeConnection(con);
}

return success;
}
DAO 
2010年8月24日 11:10

3个答案 按时间排序 按投票排序

0 0

jdbc是自动commit

你也可以通过conn.setAutoCommit(boolean autoCommit)来设置事务是否自动提交
true:自动提交
false:手动控制

2010年9月03日 14:48
0 0

这得看你是用的那个数据库。。。。与程序没有关系。。

2010年8月24日 12:55
0 0

不需要,jdbc默认是自动commit

2010年8月24日 11:33

相关推荐

    oracle执行update语句时卡住问题分析及解决办法

    这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...

    学习SQL语句之SQL语句大全

     UPDATE --更新数据库表中的数据  --数据定义  CREATE TABLE --创建一个数据库表  DROP TABLE --从数据库中删除表  ALTER TABLE --修改数据库表结构  CREATE VIEW --创建一个视图  DROP VIEW --从数据库中...

    MySql是否需要commit详解

    mysql在进行如插入(insert)操作的时候需不需要commit,这得看你的存储引擎, 如果是不支持事务的引擎,如myisam,则是否commit都没有效的。 如果是支持事务的引擎,如innodb,则得知道你事物支持是否自动提交事务...

    生成UPDATE语句

    本篇文章将详细介绍如何根据指定的表结构来生成更新语句(UPDATE SQL),并特别关注基于主键更新的情况。这在Oracle数据库管理与开发中是一项非常实用的技术,尤其对于那些需要频繁更新数据库记录的应用场景来说更是...

    MySQL锁类型以及子查询锁表问题、解锁1

    FOR UPDATE`语句,需要注意它只在事务(BEGIN/COMMIT)内部生效,并且只适用于InnoDB存储引擎。如果在命令模式下测试锁定情况,可以通过开启多个窗口并执行相关操作来观察效果。 在实际应用中,可能会遇到死锁问题...

    在Titanium中通过使用BEGIN/COMMIT来加速SQLite插入操作

    这是因为SQLite在事务内部执行的所有更改都是暂存的,直到COMMIT命令执行才会实际写入到数据库,减少了磁盘I/O操作,从而提高了效率。 以下是在Titanium中使用BEGIN/COMMIT的例子,以app.js文件为例: ```...

    Oracle锁和表分区

    例如,当用户执行`SELECT...FOR UPDATE`语句时,Oracle会在选定的行上设置一个排他锁,阻止其他用户在事务提交前对这些行进行更新。如果需要等待锁定的行,可以使用`FOR UPDATE WAIT`子句设置等待时间。 - **表级...

    使用SQL语句批量更新数据.rar

    这里的表名是你需要更新的表,列名是你要修改的字段,新值是新的数据,而WHERE子句定义了哪些记录需要被更新。 二、条件语句 2. WHERE子句:批量更新的关键在于正确地设定WHERE子句。通过WHERE可以指定满足特定...

    04 借着更新语句在InnoDB存储引擎中的执行流程,聊聊binlog是什么.pdf

    标题和描述中提到的知识点主要涉及MySQL中InnoDB存储引擎的更新语句执行流程以及binlog的作用。知识点内容包括了redo日志的作用、刷盘策略以及binlog日志的特性、刷盘策略和作用。以下是详细知识点说明: 1. redo...

    SQL语句语法

    - 不能回滚的语句:某些操作会隐式提交事务。 - 会造成隐式提交的语句:如DDL语句。 - SAVEPOINT 和 ROLLBACK TO SAVEPOINT:设置保存点并在需要时回滚到保存点。 - LOCK TABLES 和 UNLOCK TABLES:锁定表以防止其他...

    oracle-update数据更新的实现语句.doc

    对于大型表的数据更新操作,如果直接进行全表扫描,可能会消耗较多的系统资源并影响性能。在这种情况下,可以考虑使用索引来提高查询和更新的效率。 Oracle中的数据更新主要通过UPDATE语句实现,该语句可以指定更新...

    SQLserver常用语句大全

    * UPDATE 语句:更新数据库表中的数据 二、数据定义 * CREATE TABLE 语句:创建一个数据库表 * DROP TABLE 语句:从数据库中删除表 * ALTER TABLE 语句:修改数据库表结构 * CREATE VIEW 语句:创建一个视图 * ...

    史上最全数据库SQL语句大全

    在使用时,需要指定更新的目标表以及要更改的列和更新后的值。 接下来,数据定义语句用于创建和修改数据库的结构: 1. CREATE TABLE:此语句用于创建一个新数据库表。例如,创建一个股票信息表。 2. DROP TABLE:...

    Oracle查询语句大全-精华版

    update 语句用于更新数据,使用以下语句: update tablename set columnname='新值'; delete 语句用于删除数据,使用以下语句: delete from tablename; 六、查询当前用户下的所有表 查询当前用户下的所有表是...

    SQL server 中锁机制详解

    避免死锁的方法是施加一定的规则,例如按照一定顺序来更新表。 设置锁选项一般让 SQL Server 自动处理锁。有时用户需要控制锁,例如其它用户在修改数据时,也想让用户能浏览数据。例如: select * from table1 ...

    SQL 语句大全 SQL 语句大全

    - **创建表**:CREATE TABLE语句定义表的结构,包括字段名、数据类型、约束条件等。 - **修改表**:ALTER TABLE语句用于添加、删除或修改字段,以及调整表的属性。 - **删除表**:DROP TABLE语句永久性地移除表...

    mysql 锁表锁行语句分享(MySQL事务处理)

    需要注意的是,混合使用不同类型的事务安全存储引擎(如InnoDB和BDB)可能会导致一致性问题,因为它们可能有不同的事务隔离级别和锁机制。使用单一事务引擎可以避免这类问题,确保事务的正确性。 总的来说,MySQL的...

    经典sql基本语句大全

    该语句用于更新表中的数据。 5. 排序:SELECT * FROM table1 ORDER BY field1,field2 [DESC] 该语句用于对表中的数据进行排序。 6. 统计:SELECT COUNT(*) AS totalcount FROM table1 该语句用于统计表中的数据...

    SQL 语句完全优化

    - **COMMIT的资源消耗**:每次提交都会消耗一定的系统资源,包括更新日志文件、释放锁等操作。因此,在确保数据一致性的同时,应尽量减少COMMIT次数。 #### 8. WHERE与HAVING子句的区别及使用场景 - **HAVING子句**...

Global site tag (gtag.js) - Google Analytics