Class DaoHelper
java.lang.Object
br.com.intersys.systextil.connection.DaoHelper
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <DTO> InsertBuilder
buildInsert
(String tableName, DTO dto, String... ignoreParams) Transforma uma instancia de um DTO em um InsertBuilderstatic <DTO> UpdateBuilder
buildUpdate
(String tableName, DTO dto, String whereClause, Object[] whereParams, String... ignoreParams) Transforma uma instancia de um DTO em um UpdateBuilderstatic <DTO> boolean
delete
(IDAO<DTO> dao, AppConnection conn, Object... params) Deleta o registro pela pk, e retorna o resultado da operacaodto2Map
(DTO dto) Transforma nome e valor dos campos de uma instância de DTO em um mapa que pode ser usado para setar os parametros de um InsertBuilder com o metodo setAllstatic <DTO> boolean
dynamicInsert
(AppConnection conn, String tableName, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela passada por parametro.static <DTO> boolean
dynamicInsert
(IDAO<DTO> dao, AppConnection conn, DTO dto) Deprecated.static <DTO> boolean
dynamicInsert
(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela a qual o DAO representa.static <DTO> boolean
dynamicInsertIgnoreUnique
(AppConnection conn, String tableName, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela passada por parametro, ignorando erros de unique constraint.static <DTO> boolean
dynamicInsertIgnoreUnique
(IDAO<DTO> dao, AppConnection conn, DTO dto) Deprecated.static <DTO> boolean
dynamicInsertIgnoreUnique
(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela a qual o DAO representa, ignorando erros de unique constraint.static <DTO> boolean
dynamicUpdate
(AppConnection conn, String tableName, DTO dto, String whereClause, Object[] whereParams, String... ignoreParams) Responsável por atualizar registro do dao passado por parametro.static <DTO> boolean
dynamicUpdate
(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por atualizar registro do dao passado por parametro.static <DTO> boolean
exist
(IDAO<DTO> dao, AppConnection conn, Object... params) Verifica se o registro existe na tabela com base na primary key.static <DTO> boolean
existBy
(IDAO<DTO> dao, AppConnection conn, String where, Object... params) Verifica se o registro existe na tabela conforme where informado.static <DTO> DTO
get
(IDAO<DTO> dao, AppConnection conn, Object... params) Busca um registro na tabela pela PK.static <DTO> DTO
getBy
(IDAO<DTO> dao, AppConnection conn, String where, Object... params) Busca um registro na tabela pelo where informado.static <DTO> DTO
getBy
(String query, IDAO<DTO> dao, AppConnection conn, Object... params) Busca um registro na tabela por uma query complexa.static <DTO> DataReader<DTO>
list
(IDAO<DTO> dao, Maker<DTO> maker, AppConnection conn) Lista todos registros da tabela Nos projetos que compilam para java 8 o maker pode ser um lambda Exemplostatic <DTO> DataReader<DTO>
Lista registros da tabela aplicando a clausula where específicada.static <DTO> DataReader<DTO>
list
(String query, Maker<DTO> maker, AppConnection conn, Object... params) Lista registros da tabela aplicando a query, essa funçao é para querys mais complexas
-
Constructor Details
-
DaoHelper
public DaoHelper()
-
-
Method Details
-
get
Busca um registro na tabela pela PK.- Type Parameters:
DTO
- o tipo do objeto retornado- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.params
- Sequencia exata das chaves primárias.- Returns:
- um objeto DTO ou null, caso não encontre registros
-
getBy
Busca um registro na tabela pelo where informado.- Type Parameters:
DTO
- o tipo do objeto retornado- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.where
- a clausula whereparams
- parametros do where- Returns:
- um objeto DTO ou null, caso não encontre registros
-
getBy
Busca um registro na tabela por uma query complexa.- Type Parameters:
DTO
- o tipo do objeto retornado- Parameters:
query
- a query complexadao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.params
- parametros do where- Returns:
- um objeto DTO ou null, caso não encontre registros
-
delete
Deleta o registro pela pk, e retorna o resultado da operacao- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.params
- Sequencia exata das chaves primárias.- Returns:
- resuldado do delete
-
list
Lista todos registros da tabela Nos projetos que compilam para java 8 o maker pode ser um lambda Exemplo(connection) -> DAO.this.parse(connection)
Nos projetos que não suportam java 8 deve ser feita a implementação de um maker Exemplopublic static final Maker<Tipo> MAKER = new Maker<Tipo>() { public Tipo make(AppConnection conn) { return Tipo.make(conn); } };
- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOmaker
- o maker do DTOconn
- instância doAppConnection
.- Returns:
- um instância de
DataReader
-
list
public static <DTO> DataReader<DTO> list(IDAO<DTO> dao, Maker<DTO> maker, AppConnection conn, String where, Object... params) Lista registros da tabela aplicando a clausula where específicada. Nos projetos que compilam para java 8 o maker pode ser um lambda Exemplo(connection) -> DAO.this.parse(connection)
Nos projetos que não suportam java 8 deve ser feita a implementação de um maker Exemplopublic static final Maker<Tipo> MAKER = new Maker<Tipo>() { public Tipo make(AppConnection conn) { return Tipo.make(conn); } };
- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOmaker
- o maker do DTOconn
- instância doAppConnection
.where
- String com clausula where para query de leituraparams
- Os parametros devem ser passados na sequencia que sao esperados no parametro where- Returns:
- um instância de
DataReader
-
list
public static <DTO> DataReader<DTO> list(String query, Maker<DTO> maker, AppConnection conn, Object... params) Lista registros da tabela aplicando a query, essa funçao é para querys mais complexas- Type Parameters:
DTO
- o tipo de DTO a usar- Parameters:
conn
- instância doAppConnection
.query
- a query a executarmaker
- o maker do DTO pretendidoparams
- Os parametros devem ser passados na sequencia que sao esperados no parametro where- Returns:
- um instância de
DataReader
-
exist
Verifica se o registro existe na tabela com base na primary key.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.params
- Os parametros devem ser passados na sequencia que sao esperados no parametro where- Returns:
- true caso o registro exista, false caso contrário
-
existBy
public static <DTO> boolean existBy(IDAO<DTO> dao, AppConnection conn, String where, Object... params) Verifica se o registro existe na tabela conforme where informado.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.where
- String com clausula whereparams
- Os parametros devem ser passados na sequencia que sao esperados no parametro where- Returns:
- true caso o registro exista, false caso contrário
-
dynamicInsert
public static <DTO> boolean dynamicInsert(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela a qual o DAO representa. A query de insert é gerada dinamicamente com base no objeto DTO passado por parâmetro.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.dto
- Estrutura de dadosignoreParams
- campos que serão ignorados no insert- Returns:
- Se registro foi inserido true, caso contrário false.
-
dynamicInsert
Deprecated.Tratativa para projetos que foram compilados com a assinatura antiga, sem varargs. Quando esses projetos forem recompilados essa tratativa pode ser removida, porque quando o metodo não recebe nenhum parametro para o varArgs esse parametro sera um array vazio- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.dto
- estrutura de dados- Returns:
- se o registro foi inserido
-
dynamicInsert
public static <DTO> boolean dynamicInsert(AppConnection conn, String tableName, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela passada por parametro. A query de insert é gerada dinamicamente com base no objeto DTO passado por parâmetro.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
conn
- instância doAppConnection
.tableName
- nome da tabela que será persistida.dto
- Estrutura de dadosignoreParams
- campos que serão ignorados no insert- Returns:
- Se registro foi inserido true, caso contrário false.
-
dynamicInsertIgnoreUnique
public static <DTO> boolean dynamicInsertIgnoreUnique(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela a qual o DAO representa, ignorando erros de unique constraint. A query de insert é gerada dinamicamente com base no objeto DTO passado por parâmetro.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.dto
- Estrutura de dadosignoreParams
- campos que serão ignorados no insert- Returns:
- Se registro foi inserido true, caso contrário false.
-
dynamicInsertIgnoreUnique
@Deprecated public static <DTO> boolean dynamicInsertIgnoreUnique(IDAO<DTO> dao, AppConnection conn, DTO dto) Deprecated.Tratativa para projetos que foram compilados com a assinatura antiga, sem varargs. Quando esses projetos forem recompilados essa tratativa pode ser removida, porque quando o metodo não recebe nenhum parametro para o varArgs esse parametro sera um array vazio- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dao
- instancia do DAO que implementa IDAOconn
- instância doAppConnection
.dto
- estrutura de dados- Returns:
- se o registro foi inserido
-
dynamicInsertIgnoreUnique
public static <DTO> boolean dynamicInsertIgnoreUnique(AppConnection conn, String tableName, DTO dto, String... ignoreParams) Responsável por inserir o registro na tabela passada por parametro, ignorando erros de unique constraint. A query de insert é gerada dinamicamente com base no objeto DTO passado por parâmetro.- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
conn
- instância doAppConnection
.tableName
- nome da tabela que será persistida.dto
- Estrutura de dados.ignoreParams
- campos que serão ignorados no insert.- Returns:
- Se registro foi inserido true, caso contrário false.
-
dynamicUpdate
public static <DTO> boolean dynamicUpdate(IDAO<DTO> dao, AppConnection conn, DTO dto, String... ignoreParams) Responsável por atualizar registro do dao passado por parametro. Com IDAO, esse metodo usa os campos de pk para criar o where. A query de update é gerada dinamicamente com base no objeto DTO passado por parâmetro.Obs: Primeiramente bom dia, segundamente essa estrategia de update a principio não seria usado com reflection, porque normalmente o update é feito em poucos campos da tabela. Então porque fazer? Bom no vision tem muitos processos que utilizam a abordagem do famoso status -4, então pra facilitar a conversão de vision pra java, esse metodo foi criado.
- Type Parameters:
DTO
- o tipo de DTO a usar- Parameters:
conn
- instância doAppConnection
.dao
- instancia do DAO que implementa IDAOdto
- Estrutura de dados.ignoreParams
- campos que serão ignorados no insert.- Returns:
- Se registro foi inserido true, caso contrário false.
-
dynamicUpdate
public static <DTO> boolean dynamicUpdate(AppConnection conn, String tableName, DTO dto, String whereClause, Object[] whereParams, String... ignoreParams) Responsável por atualizar registro do dao passado por parametro. A query de update é gerada dinamicamente com base no objeto DTO passado por parâmetro.Obs: Primeiramente bom dia, segundamente essa estrategia de update a principio não seria usado com reflection, porque normalmente o update é feito em poucos campos da tabela. Então porque fazer? Bom no vision tem muitos processos que utilizam a abordagem do famoso status -4, então pra facilitar a conversão de vision pra java, esse metodo foi criado.
- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
conn
- instância doAppConnection
.tableName
- nome da tabela que será persistida.dto
- Estrutura de dados.whereClause
- clausula where utilizada no updatewhereParams
- lista de valores para os parametros utilizados na clausula whereignoreParams
- campos que serão ignorados no insert.- Returns:
- Se registro foi inserido true, caso contrário false.
-
buildInsert
Transforma uma instancia de um DTO em um InsertBuilder- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
tableName
- nome da tabela que sera persistidadto
- instância de um DTO que será persistidoignoreParams
- campos que serão ignorados no insert- Returns:
- Mapa com todos campos e valores do DTO
-
buildUpdate
public static <DTO> UpdateBuilder buildUpdate(String tableName, DTO dto, String whereClause, Object[] whereParams, String... ignoreParams) Transforma uma instancia de um DTO em um UpdateBuilder- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
tableName
- nome da tabela que sera persistidadto
- instância de um DTO que será persistidowhereClause
- clausula where utilizada no updatewhereParams
- lista de valores para os parametros utilizados na clausula whereignoreParams
- campos que serão ignorados no insert- Returns:
- Mapa com todos campos e valores do DTO
-
dto2Map
Transforma nome e valor dos campos de uma instância de DTO em um mapa que pode ser usado para setar os parametros de um InsertBuilder com o metodo setAll- Type Parameters:
DTO
- o tipo do objeto a usar- Parameters:
dto
- Instância de um DTO que será persistido- Returns:
- Mapa com todos campos e valores do DTO
-