JDBC向数据库插入一条数据控制台不报错但是插入没成功

今天被这个问题困惑了很久,后来发现原来是没有commit,自己在代码中写了setAutoCommit(false)却忘记注释掉了。

下面是我的update方法

public int update(Connection conn,String sql,Object ...args)  {
            
                PreparedStatement prepareStatement = null;
                try {
                    //conn = JDBCUtils.getConnection();
                    
                    conn.setAutoCommit(false);//这里设置了是否自动提交
                    
                     prepareStatement = conn.prepareStatement(sql);
                     
                     //3.填充占位符
                     for (int i=0;i<args.length;i++) {
                        prepareStatement.setObject(i+1, args[i]);
                        
                    }
                     //4.执行
                     return prepareStatement.executeUpdate();//标明影响了几行数据
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }finally {
                    //5.资源的关闭
                     JDBCUtils.closeResourse(null, prepareStatement);
                }
                 
                return 0;
            }

将代码中的 setAutoCommit(false)注释掉,便能成功添加到数据库当中。

上一篇:Access denied for user ‘root‘@‘localhost‘ (using password: YES)


下一篇:CentOS7安装MySQL,python3