Add QueryMapper.noBind, which is skipped if sent in as one of the bindObjects

This commit is contained in:
Travis Burtrum 2015-09-25 16:55:58 -04:00
parent 1850272d64
commit a7e159b172
2 changed files with 4 additions and 2 deletions

View File

@ -192,7 +192,7 @@ public class ListQueryMapper extends QueryMapper {
private static StringBuilder recursiveReplace(final StringBuilder sb, final Object... bindObjects) {
if (bindObjects != null && bindObjects.length > 0) {
for (Object o : bindObjects) {
if (o != null) {
if (o != null && o != QueryMapper.noBind) {
if (o instanceof InList.InListObject) {
final int startIndex = sb.indexOf(inListReplace);
if (startIndex < -1)

View File

@ -12,6 +12,8 @@ import static com.moparisthebest.jdbc.TryClose.tryClose;
public class QueryMapper implements Closeable {
public static final Object noBind = new Object();
static {
try{
final Class<?> ensureContext = Class.forName(System.getProperty("QueryMapper.ensureContext.class", "com.gcl.containerless.EnsureContext"));
@ -203,7 +205,7 @@ public class QueryMapper implements Closeable {
if (bindObjects != null && bindObjects.length > 0) {
for (Object o : bindObjects) {
if (o != null) {
if (o == InList.InListObject.empty) {
if (o == InList.InListObject.empty || o == noBind) {
continue; // ignore
} else if (o instanceof BindInList.BindInListObject) {
if (((BindInList.BindInListObject) o).getBindObjects() != null)