All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.xore.util.persistence.QueryManager Maven / Gradle / Ivy

The newest version!
package de.xore.util.persistence;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.List;
import java.util.Properties;

/**
 * Soll/kann von den einzelnen Modulen ueberschrieben werden - mit den entsprechenden Queries 

* Date: 14.04.2005
* Time: 14:38:17
* * @author Johannes Schneider - Xore * Systems */ public abstract class QueryManager { protected DatabaseConnector connector; protected QueryManager( @NotNull DatabaseConnector connector ) { this.connector = connector; } public DatabaseConnector getConnector() { return connector; } public void refresh( Object obj ) { connector.beginTransaction(); connector.refresh( obj ); connector.commit(); } /** * Update the database * * @param obj the object that is saved */ public void update( Object obj ) { connector.beginTransaction(); connector.update( obj ); connector.commit(); } public void save( @NotNull Object object ) { connector.beginTransaction(); connector.save( object ); connector.commit(); //todo wirklich automatisch committen?? } public void saveOrUpdate( @NotNull Object object ) { connector.beginTransaction(); connector.saveOrUpdate( object ); connector.commit(); //todo wirklich automatisch committen?? } public void delete( @NotNull Object object ) { connector.beginTransaction(); connector.delete( object ); connector.commit(); } @Nullable public T getFirstQueryResult( String queryString ) throws DatabaseException { List queryResult = getQueryResult( queryString ); if ( !queryResult.isEmpty() ) { return queryResult.get( 0 ); } return null; } @Nullable public T getFirstQueryResult( String queryString, Properties params ) throws DatabaseException { List queryResult = getQueryResult( queryString, params ); if ( !queryResult.isEmpty() ) { return queryResult.get( 0 ); } return null; } @Nullable public T getFirstQueryResult( String queryString, String name, String val ) throws DatabaseException { List queryResult = getQueryResult( queryString, name, val ); if ( !queryResult.isEmpty() ) { return queryResult.get( 0 ); } return null; } public abstract List getQueryResult( String queryString ) throws DatabaseException; public abstract List getQueryResult( String queryString, Properties params ) throws DatabaseException; public abstract List getQueryResult( String queryString, String property, String value ) throws DatabaseException; public void dispose() { getConnector().dispose(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy