@Override
  public void updateBarang(barang barang) throws BarangException {
    PreparedStatement statement = null;
    try {
      connection.setAutoCommit(false);
      statement = connection.prepareStatement(updateBarang);
      statement.setString(1, barang.getIdBarang());
      statement.setString(2, barang.getIdBarcode());
      statement.setString(3, barang.getNamaBarang());
      statement.setString(4, barang.getTipe());
      statement.setString(5, barang.getMerek());
      statement.setInt(6, barang.getHargamodal());
      statement.setInt(7, barang.getEceran());
      statement.setInt(8, barang.getGrosir());
      statement.setString(9, barang.getSatuan());
      statement.setInt(10, barang.getStok());
      statement.setInt(11, barang.getStokMinimum());
      statement.setString(12, barang.getSupplier());
      statement.setString(13, barang.getKeterangan());
      try {
        statement.setBlob(14, new FileInputStream(barang.getGambar()));
      } catch (FileNotFoundException ex) {
        Logger.getLogger(ReminderDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
      }
      statement.setString(14, barang.getKategori());
      statement.executeUpdate();
      connection.commit();
    } catch (SQLException exception) {
      try {
        connection.rollback();
      } catch (SQLException ex) {

      }
      JOptionPane.showMessageDialog(null, "Insert barang gagal karena " + exception);
    } finally {
      try {
        connection.setAutoCommit(true);
      } catch (SQLException ex) {
      }
      if (statement != null) {
        try {
          statement.close();
        } catch (SQLException exception) {

        }
      }
    }
  }