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

com.j256.ormlite.stmt.PreparedStmt Maven / Gradle / Ivy

package com.j256.ormlite.stmt;

import java.sql.SQLException;

import com.j256.ormlite.stmt.StatementBuilder.StatementType;
import com.j256.ormlite.support.CompiledStatement;
import com.j256.ormlite.support.DatabaseConnection;

/**
 * Parent interface for the {@link PreparedQuery}, {@link PreparedUpdate}, and {@link PreparedDelete} interfaces.
 */
public interface PreparedStmt extends GenericRowMapper {

	/**
	 * Create and return the associated compiled statement. You must call {@link CompiledStatement#close()} after you
	 * are done with the statement so any database connections can be freed.
	 */
	public CompiledStatement compile(DatabaseConnection databaseConnection, StatementType type) throws SQLException;

	/**
	 * Like compile(DatabaseConnection, StatementType) but allows to specify the result flags.
	 * 
	 * @param resultFlags
	 *            Set to -1 for default.
	 */
	public CompiledStatement compile(DatabaseConnection databaseConnection, StatementType type, int resultFlags)
			throws SQLException;

	/**
	 * Return the associated SQL statement string for logging purposes.
	 */
	public String getStatement() throws SQLException;

	/**
	 * Return the type of the statement for internal consistency checking.
	 */
	public StatementType getType();

	/**
	 * If any argument holder's have been set in this prepared statement then this is a convenience method to be able to
	 * set them.
	 * 
	 * 

* NOTE This method is for folks who know what they are doing. Unfortunately the index of the argument holder * is dependent on how the query was built which for complex queries may be difficult to determine. Also, certain * field types (such as a Date) allocate an argument internally so you will need to take this into account. *

* * @param index * The index of the holder you are going to set, 0 based. See NOTE above. * @param value * Object to set in the argument holder. */ public void setArgumentHolderValue(int index, Object value) throws SQLException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy