public class NamedParameterStatement extends PreparedStatementWrapper
PreparedStatement and allows the programmer to set parameters by name instead
of by index. This eliminates any confusion as to which parameter index represents what. This also means that
rearranging the SQL statement or adding a parameter doesn't involve renumbering your indices.
Code such as this:
Connection conn = getConnection();
String sql = "select * from my_table where name=? or address=?";
PreparedStatement p = conn.prepareStatement(sql);
p.setString(1, "bob");
p.setString(2, "123");
ResultSet rs = p.executeQuery();
Can be replaced with:
Connection conn = getConnection();
String sql = "select * from my_table where name=:name or address=:address";
NamedParameterStatement p = new NamedParameterStatement(conn, sql);
p.setString("name", "bob");
p.setString("address", "123");
ResultSet rs = p.executeQuery();
ps| 构造器和说明 |
|---|
NamedParameterStatement(java.sql.Connection conn,
java.lang.String sql)
Creates a NamedParameterStatement.
|
| 限定符和类型 | 方法和说明 |
|---|---|
java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> |
getNameIndexMap() |
void |
setArray(java.lang.String name,
java.sql.Array value) |
void |
setAsciiStream(java.lang.String name,
java.io.InputStream value) |
void |
setAsciiStream(java.lang.String name,
java.io.InputStream value,
int length) |
void |
setBigDecimal(java.lang.String name,
java.math.BigDecimal value) |
void |
setBinaryStream(java.lang.String name,
java.io.InputStream value) |
void |
setBinaryStream(java.lang.String name,
java.io.InputStream value,
int length) |
void |
setBinaryStream(java.lang.String name,
java.io.InputStream value,
long length) |
void |
setBlob(java.lang.String name,
java.sql.Blob value) |
void |
setBlob(java.lang.String name,
java.io.InputStream value) |
void |
setBlob(java.lang.String name,
java.io.InputStream value,
long length) |
void |
setBoolean(java.lang.String name,
boolean value) |
void |
setByte(java.lang.String name,
byte value) |
void |
setBytes(java.lang.String name,
byte[] value) |
void |
setCharacterStream(java.lang.String name,
java.io.Reader value) |
void |
setCharacterStream(java.lang.String name,
java.io.Reader value,
int length) |
void |
setCharacterStream(java.lang.String name,
java.io.Reader value,
long length) |
void |
setClob(java.lang.String name,
java.sql.Clob value) |
void |
setClob(java.lang.String name,
java.io.Reader value) |
void |
setClob(java.lang.String name,
java.io.Reader value,
long length) |
void |
setDate(java.lang.String name,
java.sql.Date value) |
void |
setDate(java.lang.String name,
java.sql.Date value,
java.util.Calendar cal) |
void |
setDouble(java.lang.String name,
double value) |
void |
setFloat(java.lang.String name,
float value) |
void |
setInt(java.lang.String name,
int value) |
void |
setLong(java.lang.String name,
long value) |
void |
setNCharacterStream(java.lang.String name,
java.io.Reader value) |
void |
setNCharacterStream(java.lang.String name,
java.io.Reader value,
long length) |
void |
setNClob(java.lang.String name,
java.sql.NClob value) |
void |
setNClob(java.lang.String name,
java.io.Reader value) |
void |
setNClob(java.lang.String name,
java.io.Reader value,
long length) |
void |
setNString(java.lang.String name,
java.lang.String value) |
void |
setNull(java.lang.String name,
int sqlType) |
void |
setObject(java.lang.String name,
java.lang.Object value) |
void |
setObject(java.lang.String name,
java.lang.Object value,
int targetSqlType) |
void |
setObject(java.lang.String name,
java.lang.Object value,
int targetSqlType,
int scaleOrLength) |
void |
setRef(java.lang.String name,
java.sql.Ref value) |
void |
setRowId(java.lang.String name,
java.sql.RowId value) |
void |
setShort(java.lang.String name,
short value) |
void |
setSQLXML(java.lang.String name,
java.sql.SQLXML value) |
void |
setString(java.lang.String name,
java.lang.String value) |
void |
setTime(java.lang.String name,
java.sql.Time value) |
void |
setTime(java.lang.String name,
java.sql.Time value,
java.util.Calendar cal) |
void |
setTimestamp(java.lang.String name,
java.sql.Timestamp value) |
void |
setTimestamp(java.lang.String name,
java.sql.Timestamp value,
java.util.Calendar cal) |
void |
setUnicodeStream(java.lang.String name,
java.io.InputStream value,
int length) |
void |
setURL(java.lang.String name,
java.net.URL value) |
addBatch, addBatch, cancel, clearBatch, clearParameters, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, execute, executeBatch, executeQuery, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMetaData, getMoreResults, getMoreResults, getParameterMetaData, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setCursorName, setDate, setDate, setDouble, setEscapeProcessing, setFetchDirection, setFetchSize, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setPoolable, setQueryTimeout, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL, unwrappublic NamedParameterStatement(java.sql.Connection conn,
java.lang.String sql)
throws java.sql.SQLException
prepareStatement.conn - the database connectionsql - the parameterized sqljava.sql.SQLException - if the statement could not be createdpublic java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> getNameIndexMap()
public void setArray(java.lang.String name,
java.sql.Array value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setAsciiStream(java.lang.String name,
java.io.InputStream value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setAsciiStream(java.lang.String name,
java.io.InputStream value,
int length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBigDecimal(java.lang.String name,
java.math.BigDecimal value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBinaryStream(java.lang.String name,
java.io.InputStream value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBinaryStream(java.lang.String name,
java.io.InputStream value,
int length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBinaryStream(java.lang.String name,
java.io.InputStream value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBlob(java.lang.String name,
java.sql.Blob value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBlob(java.lang.String name,
java.io.InputStream value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBlob(java.lang.String name,
java.io.InputStream value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBoolean(java.lang.String name,
boolean value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setByte(java.lang.String name,
byte value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setBytes(java.lang.String name,
byte[] value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setCharacterStream(java.lang.String name,
java.io.Reader value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setCharacterStream(java.lang.String name,
java.io.Reader value,
int length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setCharacterStream(java.lang.String name,
java.io.Reader value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setClob(java.lang.String name,
java.sql.Clob value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setClob(java.lang.String name,
java.io.Reader value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setClob(java.lang.String name,
java.io.Reader value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setDate(java.lang.String name,
java.sql.Date value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setDate(java.lang.String name,
java.sql.Date value,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setDouble(java.lang.String name,
double value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setFloat(java.lang.String name,
float value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setInt(java.lang.String name,
int value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setLong(java.lang.String name,
long value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNCharacterStream(java.lang.String name,
java.io.Reader value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNCharacterStream(java.lang.String name,
java.io.Reader value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNClob(java.lang.String name,
java.sql.NClob value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNClob(java.lang.String name,
java.io.Reader value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNClob(java.lang.String name,
java.io.Reader value,
long length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNString(java.lang.String name,
java.lang.String value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setNull(java.lang.String name,
int sqlType)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setObject(java.lang.String name,
java.lang.Object value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setObject(java.lang.String name,
java.lang.Object value,
int targetSqlType)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setObject(java.lang.String name,
java.lang.Object value,
int targetSqlType,
int scaleOrLength)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setRef(java.lang.String name,
java.sql.Ref value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setRowId(java.lang.String name,
java.sql.RowId value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setShort(java.lang.String name,
short value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setSQLXML(java.lang.String name,
java.sql.SQLXML value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setString(java.lang.String name,
java.lang.String value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setTime(java.lang.String name,
java.sql.Time value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setTime(java.lang.String name,
java.sql.Time value,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setTimestamp(java.lang.String name,
java.sql.Timestamp value)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setTimestamp(java.lang.String name,
java.sql.Timestamp value,
java.util.Calendar cal)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setUnicodeStream(java.lang.String name,
java.io.InputStream value,
int length)
throws java.sql.SQLException
java.sql.SQLExceptionpublic void setURL(java.lang.String name,
java.net.URL value)
throws java.sql.SQLException
java.sql.SQLException