jmoordb
  • Introduction
  • Overview
    • Copyleft
    • Prefacio
    • Creditos
    • Autor
    • Introduccion
  • Capitulo 1
    • Capítulo 1. Jmoordb
      • Base de Datos NoSQL
      • Esquema jmoordb
      • MongoDB
        • Instalar desde repositorio
        • Instalar MongoDB desde zip
        • Instalar Mongodb con Docker
        • Crear archivo mongodb.conf
        • Crear usuario de la base de datos
        • Conectarse a la base de datos con usuario y password
        • Optimizar MongoDB
        • Seguridad mongodb
      • OrientDB
      • Couchbase
      • Dependencias
      • MongoClientProvider
      • CouchbaseClientProvider
      • Bean Validation
      • Clases Internas
        • JmoordbNotifications.java
      • Interfaces
      • Configuracion del stack
      • Conexion a Base de datos
      • Conexión mediante Microservicios
  • Capitulo 2
    • Capítulo 2. Entidades y Repository
      • Entity
      • Anotaciones
      • Documento Embebido
      • Documento Embebido como Historial
      • Embebido con List de Referenciado
      • Documento Referenciado
      • Repository MongoDB
      • Repository Couchbase
      • Save
      • Update
      • Delete
      • Repository
  • Capitulo 3
    • Capítulo 3. Búsquedas
      • Búsquedas findById
      • findBySecondaryKey()
      • isFoundBySecondaryKey()
      • Busquedas find
      • Busquedas @Embedded
      • Busquedas @Referenced
      • Busquedas findAll
      • Búsquedas findBy
      • Busquedas findPagination
      • Busquedas findFirst
  • Capitulo Llaves primarias y secundarias
    • Capitulo Llaves primarias y secundarias
    • List<FieldBeans> fieldsOfBean()
    • Autoincrementable
  • Capitulo UserInfo
    • Capitulo UserInfo
  • Capitulo Profiles
    • Capitulo Profiles
  • Capitulo 4
    • Capitulo 4. Busquedas avanzadas
      • Buscar y actualizar automaticamente
      • Autoincrementable secundarios
      • Búsquedas Expresiones Regulares (Patrones Like)
      • Búsquedas por Texto findText
      • Busquedas con Helpers
      • Busquedas con Filter and Pagination
      • Full Text Search service
      • Busqueda entre enteros filterBetweenInteger
      • Busquedas en Rango de Doubles
      • Shell
  • Capitulo 5. Búsqueda en Documentos Embebidos
    • Capitulo 5. Búsqueda en Documentos Embebidos
      • Buscar elemento en un List<> Embebido/Referenciado
      • Filtros entre fechas en List<entity> embebidos
  • Capitulo 6. Busquedas en Fechas
    • Capitulo 6. Busquedas en Fechas
      • Busqueda entre Fechas filterBetweenDate()/filterBetweenDateWithoutHours()
      • betweendateWithFilter
      • Búsquedas por Día filterDayWithoutHour()
      • Disponible entre dos fechas en rangos de fechas inicial y final
      • Autocomplete disponibles en base a rango de dos fechas seleccionadas
      • Autocomplete en rangos de fechas excluyendo el mismo entity
      • Utilidades para Fechas
  • Capitulo 7 Aggregation
    • Capitulo 7 Aggregation
      • Introduccion Aggregation
      • Ejemplo $match
      • Ejemplo $group
      • Ejemplo $match, $group combinado
      • Ejemplo $lookup
      • Aggregation en ;MongoDB
  • Capitulo 8
    • Capitulo 8. Utilidades Bases datos
      • Restaurar base datos
      • internalQueryExecMaxBlockingSortBytes
      • Statistics
      • count
      • sizeOfPage
      • Indices
      • Crear Indice Primario
      • Lista de colecciones
      • Crear una coleccion
      • Eliminar una coleccion
      • Convertir Entity a documento
      • Eliminar base datos
      • Desconectar
      • Agregar campo a todos los documentos
      • ListOfPage
      • Importar un json a MongoDB
      • Migrar desde MySQL a MongoDB
      • updateOne
      • updateMany
      • Copiar base de datos
      • Migrar desde un archivo sql a mongodb
      • Cambiar el nombre de un campo
      • Exportar a csv
      • update field
      • Ver listado de colecciones
      • Eliminar un campo
      • Incrementar valor de campos
      • Tipos enteros
      • Agrupar y contar
      • iterate Cursor
      • Estadisticas
      • SQL vs MongoDB
      • not
      • Videos
      • Crear colleccion
      • Combinar bases de datos
      • sortConstructor
      • filterEQBuilder
      • documentToJson/jsonToDocument
      • Renombrar base de datos
      • Consultas $ne
      • Consulta entre Fechas
      • Consultas And
      • Consulta compleja
      • Contar registros complejos
      • Agregar un campo en una consulta compleja
      • Actualizacion compleja
      • Actualizar enteros mediante or
  • Capitulo 9 ACID Transactions Aun no implementado
    • Capitulo 9 ACID Transactions
      • ejemplos ACID
  • Capitulo 10. Bases datos sin esquema
    • Capitulo 10. Bases datos sin esquema
      • Insertar, Actualizar, Eliminar
  • Capítulo 11
    • Capitulo 11. Aplicación Java SE MongoDB
      • Base de datos
      • Proyecto Maven
      • Clase MongoClientProvider
      • Clase Entity
      • Clase Repository
      • Clase Controller
      • Clase Main
  • Capítulo 12
    • Capítulo 12 Java EE
      • Proyecto Maven Web
      • Dependencias web
      • Clase MongoClientProvider Web
      • Entity Web
      • Interfaces Web
      • Repository Web
      • Controller Web
      • Pagina Web
  • Capitulo 13. Couchbase
    • Capitulo 13 Couchbase
      • Base datos couchbase
      • Entity Couchbase
      • Dependencias Maven Couchbase
      • Couchabase Provider para el Ejemplo Couchbase
      • Repository Couchbase
      • Controller Couchbase
  • Capitulo 14 Auditoria
    • Capitulo 14 Auditoria
      • Introduccion
      • Implementación Repository de Auditoria
      • Historial de Acceso
      • Historial de Operaciones sobre documentos
      • Historial de Revisiones
    • SQL
  • Referencias
    • Referencias
      • Referencias importantes
Powered by GitBook
On this page
  • Ejemplo:
  • Ejemplo en donde se valida por el tipo de llave primaria
  • Ejemplo

Was this helpful?

  1. Capitulo Llaves primarias y secundarias

Capitulo Llaves primarias y secundarias

  • A veces necesitamos conocer el nombre y el valor de una llave primaria definida con @ID

  • o la lista de valores o nombres de las llaves secundarias definidas con @Secondary

Método

Descripciòn

String primaryKeyValue(T t2)

Devuelve el valor del atributo definido como llave primaria

String primaryKeyName(T t2)

Devuelve el nombre del atributo definido como llave primaria

Map<String,String> primaryKey(T t2)

Hashmap con el atributo primario y el valor

Map<String, String> secondaryKey(T t2)

Hashmap de las llaves secundarias con sus valores,

Boolean primaryKeyIsInteger(T t2)

Devuelve true si la llave primaria es tipo Integer y false si es String

Integer primaryKeyValueInteger(T t2)

Devuelve el valor de una llave primaria que es de tipo entero

T primaryKeyValueToUpper(T t1)

Convierte el valor de la llave primaria a mayúsculas y la devuelve en el mismo entity.

T primaryKeyValueToLower(T t1)

Convierte el valor de la llave primaria a minúsculas,

T primaryKeySetValue(T t1, String valueOfPrimaryKey)

Asigna un valor a la llave primaria y la devuelve al entity

T secondaryKeyValueToUpper(T t1)

Convierte el valor de la llave Secundaria a mayúsculas y lo devuelve en el mismo entity

T secondaryKeyValueToLowe(T t1)

Convierte el valor de la llave secundaria aminuscula

HashMap<String, Object> secondaryKeyValueObject(T t2)

Devuelve un Hasmap de las llaves secundarias con su valor

Object getPrimaryKeyValue(T t2)

Devuelve el valor de la llave primaria como object

String getPrimaryKeyType(T t2)

Devuelve el tipo de la llave primaria

T secondaryKeySetValue(T t1, String nameOfSecondaryKey, String valueOfSeconddaryKey)

Asigna el valor de la llave secundaria espeficada por el nombre del atributo y el valor

List<SecondaryKey> getSecondaryKeyList()

Lista de llaves secundarias

Ejemplo:

String primarykeyvalue = repository.primaryKeyValue(entity);

Recorrer un hashmap

      HashMap<String, String> map = rolRepository.secondaryKey(rol);

     Set set = map.entrySet();
      Iterator iterator = set.iterator();
      while(iterator.hasNext()) {
         Map.Entry mentry = (Map.Entry)iterator.next();
         System.out.print("key is: "+ mentry.getKey() + " & Value is: ");
         System.out.println(mentry.getValue());
      }

Ejemplo en donde se valida por el tipo de llave primaria

  • Verifica el tipo de la llave primaria

  • Obtiene el valor correspondiente y elimina el documento

   String nameOfPrimaryKey = repository.primaryKeyName(entity);
            Boolean deleted =false;
            if(repository.primaryKeyIsInteger(entity)){
                //si es llave primaria  de tipo Integer
                Integer value=repository.primaryKeyValueInteger(entity);
                if (repository.delete(nameOfPrimaryKey,value)) {
                    deleted =true;
                }else{
                    JmoordbUtil.errorMessage(nameOfMethod()+ " "+   repository.getException().toString());
                }
            }else{
                //si es llave primaria de tipo String
                String value= repository.primaryKeyValue(entity);
                if(repository.delete( nameOfPrimaryKey, value)){
                    deleted=true;
               }else{
                    JmoordbUtil.errorMessage(nameOfMethod()+ " "+   repository.getException().toString());
                }

            }

Ejemplo

Usando primaryKeyValueToUpper(entity);

    Rol rol = new Rol();
    rol.setIdrol("test");

    rol= rolRepository.primaryKeyValueToUpper(rol);

    //Salida seria
    System.out.println("idrol=" +rol.getIdrol());
    // TEST
PreviousBusquedas findFirstNextList<FieldBeans> fieldsOfBean()

Last updated 6 years ago

Was this helpful?