@Override
  public boolean agregarVenta(Venta venta) {
    boolean flat = false;
    Statement st = null;
    // String query="INSERT INTO persona VALUES
    // (0,'"+persona.getNombre()+"','"+persona.getApepat()+"','"+persona.getApemat()+"','"+persona.getFecha_nac()+"','"+persona.getSexo()+"','"+persona.getDni()+"','"+persona.getCelular()+"','"+persona.getTelefono()+"','"+persona.getDireccion()+"')";
    try {
      st = cn.conexion().createStatement();
      st.executeUpdate(cn.query);

      cn.conexion().getAutoCommit();
      cn.conexion().close();
      flat = true;
    } catch (Exception e) {
      System.out.println("ERROR:" + e.getMessage());
      try {
        cn.conexion().rollback();
        cn.conexion().close();
      } catch (Exception ex) {
      }
    } finally {
      if (cn.conexion() != null)
        try {
          cn.conexion().rollback();
          cn.conexion().close();
        } catch (Exception e) {
        }
      {
      }
    }
    return flat;
  }
  @Override
  public boolean agregarPersona(Persona persona) {
    boolean flat = false;
    Statement st = null;
    String query =
        "INSERT INTO persona VALUES (0,'"
            + persona.getNombre()
            + "','"
            + persona.getApell_pater()
            + "','"
            + persona.getApell_mater()
            + "','"
            + persona.getDireccion()
            + "','"
            + persona.getCorreo()
            + "','"
            + persona.getTelefono()
            + "','"
            + persona.getCelular()
            + "','"
            + persona.getRuc()
            + "','"
            + persona.getNro_documento()
            + "','"
            + persona.getTipo_persona()
            + "','"
            + persona.getTipo_documento()
            + "','"
            + persona.getGenero()
            + "')";

    try {
      st = cn.conexion().createStatement();
      st.executeUpdate(query);

      cn.conexion().getAutoCommit();
      cn.conexion().close();
      flat = true;
    } catch (Exception e) {
      System.out.println("ERROR:" + e.getMessage());
      try {
        cn.conexion().rollback();
        cn.conexion().close();
      } catch (Exception ex) {
      }
    } finally {
      if (cn.conexion() != null)
        try {
          cn.conexion().rollback();
          cn.conexion().close();
        } catch (Exception e) {
        }
      {
      }
    }
    return flat;
  }
  @Override
  public boolean eliminarPersona(int id_persona) {

    boolean flat = false;
    String query = "DELETE FROM persona WHERE id_persona=" + id_persona + "";
    Statement st = null;
    try {
      st = cn.conexion().createStatement();
      st.executeUpdate(query);
      cn.guardar();
      cn.cerrar();
      flat = true;
    } catch (Exception e) {
      cn.restaurar();
      cn.cerrar();
      System.out.println("ERROR" + e.getMessage());
    } finally {
      if (cn.conexion() != null) {

        cn.cerrar();
      }
    }

    return flat;
  }
  @Override
  /*public List<Venta> listarVenta() {
          List<Venta> lista=null;
          Statement st=null;
          ResultSet rs=null;
          Venta ve=null;
          String query="select * from persona";
          try {
              lista = new ArrayList<>();
              st= conexion().createStatement();
              rs=st.executeQuery(query);
              while (rs.next()) {

                  ve =new Venta();
                  ve.setId_persona(rs.getInt("id_persona"));
                  ve.setNombre(rs.getString("nombre"));
                  ve.setApepat(rs.getString("apepat"));
                  ve.setApemat(rs.getNString("apemat"));
  //              per.setFecha_nac(rs.getNString("yyyy-mm-dd"));
                  ve.setSexo(rs.getNString("sexo"));
                  ve.setDni(rs.getInt("dni"));
                  ve.setCelular(rs.getInt("celular"));
                  ve.setTelefono(rs.getInt("telefono"));
                  ve.setDireccion(rs.getString("direccion"));
                  lista.add(ve);
              }
              cerrar();
          } catch (Exception e) {
              System.out.println("ERROR:"+e.getMessage());
              e.printStackTrace();
             cerrar();
          }
          return lista;

      }*/

  @Override
  public boolean eliminarVenta(int id_venta) {
    boolean flat = false;
    String query = "DELETE FROM persona WHERE id_persona=" + id_venta + "";
    Statement st = null;
    try {
      st = cn.conexion().createStatement();
      st.executeUpdate(query);
      cn.guardar();
      cn.cerrar();
      flat = true;
    } catch (Exception e) {
      cn.restaurar();
      cn.cerrar();
      System.out.println("ERROR" + e.getMessage());
    } finally {
      if (cn.conexion() != null) {

        cn.cerrar();
      }
    }

    return flat;
  }
  @Override
  public List<Persona> listarPersona() {
    List<Persona> lista = null;
    Statement st = null;
    ResultSet rs = null;
    Persona p = null;
    String query = "select * from persona";
    try {
      lista = new ArrayList<>();
      st = cn.conexion().createStatement();
      rs = st.executeQuery(query);
      while (rs.next()) {

        p = new Persona();
        p.setId_persona(rs.getInt("id_persona"));
        p.setNombre(rs.getString("nombre"));
        p.setApell_pater(rs.getString("apell_pater"));
        p.setApell_mater(rs.getNString("apell_mater"));
        //              per.setFecha_nac(rs.getNString("yyyy-mm-dd"));
        p.setDireccion(rs.getNString("direccion"));
        p.setCorreo(rs.getString("correo"));
        p.setTelefono(rs.getString("telefono"));
        p.setCelular(rs.getString("celular"));
        p.setRuc(rs.getString("ruc"));
        p.setNro_documento(rs.getInt("nro_documento"));
        p.setTipo_persona(rs.getString("tipo_persona"));
        p.setTipo_documento(rs.getString("tipo_documento"));
        p.setGenero(rs.getString("genero"));
        lista.add(p);
      }
      cn.cerrar();
    } catch (Exception e) {
      System.out.println("ERROR:" + e.getMessage());
      e.printStackTrace();
      cn.cerrar();
    }
    return lista;
  }
  @Override
  public boolean actualizarPersona(Persona persona) {
    boolean flat = false;
    String query =
        "UPDATE persona SET nombre='"
            + persona.getNombre()
            + "',"
            + "apell_pater='"
            + persona.getApell_pater()
            + "',"
            + "apell_mater='"
            + persona.getApell_mater()
            + "',"
            + "direccion='"
            + persona.getDireccion()
            + "',"
            + "correo='"
            + persona.getCorreo()
            + "',"
            + "telefono="
            + persona.getTelefono()
            + ","
            + "celular='"
            + persona.getCelular()
            + "',"
            + "ruc='"
            + persona.getRuc()
            + "',"
            + "nro_documento ='"
            + persona.getNro_documento()
            + "',"
            + "tipo_persona='"
            + persona.getTipo_persona()
            + "',"
            + "tipo_documento ='"
            + persona.getTipo_documento()
            + "',"
            + "genero ='"
            + persona.getGenero()
            + "' WHERE id_persona ="
            + persona.getId_persona()
            + "";
    Statement st = null;
    try {
      st = cn.conexion().createStatement();
      st.executeUpdate(query);
      cn.guardar();
      cn.cerrar();
      flat = true;
    } catch (Exception e) {
      cn.restaurar();
      cn.cerrar();
      System.out.println("ERROR" + e.getMessage());
    } finally {
      if (cn.conexion() != null) {
        cn.cerrar();
      }
    }

    return flat;
  }