mirror of
https://github.com/moparisthebest/JdbcMapper
synced 2024-11-28 20:02:18 -05:00
Implement {str:booleanParamName} for JdbcMapper to set booleans as Strings for crippled databases like Oracle
This commit is contained in:
parent
4f5800a269
commit
c143004fc2
@ -16,6 +16,14 @@ public class ResultSetUtil {
|
|||||||
public static final String TRUE = System.getProperty("ResultSetUtil.TRUE", System.getProperty("UpdateableDTO.YES", "Y"));
|
public static final String TRUE = System.getProperty("ResultSetUtil.TRUE", System.getProperty("UpdateableDTO.YES", "Y"));
|
||||||
public static final String FALSE = System.getProperty("ResultSetUtil.FALSE", System.getProperty("UpdateableDTO.NO", "N"));
|
public static final String FALSE = System.getProperty("ResultSetUtil.FALSE", System.getProperty("UpdateableDTO.NO", "N"));
|
||||||
|
|
||||||
|
public static String booleanToString(boolean bool){
|
||||||
|
return bool ? TRUE : FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String booleanToString(Boolean bool){
|
||||||
|
return bool == null ? null : booleanToString(bool.booleanValue());
|
||||||
|
}
|
||||||
|
|
||||||
public static Integer getObjectInt(final ResultSet rs, final int index) throws SQLException {
|
public static Integer getObjectInt(final ResultSet rs, final int index) throws SQLException {
|
||||||
final int ret = rs.getInt(index);
|
final int ret = rs.getInt(index);
|
||||||
return rs.wasNull() ? null : ret;
|
return rs.wasNull() ? null : ret;
|
||||||
|
@ -39,7 +39,7 @@ import static com.moparisthebest.jdbc.codegen.SpecialVariableElement.SpecialType
|
|||||||
@SupportedOptions({"jdbcMapper.databaseType", "jdbcMapper.arrayNumberTypeName", "jdbcMapper.arrayStringTypeName", "jdbcMapper.allowedMaxRowParamNames", "jdbcMapper.sqlCheckerClass"})
|
@SupportedOptions({"jdbcMapper.databaseType", "jdbcMapper.arrayNumberTypeName", "jdbcMapper.arrayStringTypeName", "jdbcMapper.allowedMaxRowParamNames", "jdbcMapper.sqlCheckerClass"})
|
||||||
public class JdbcMapperProcessor extends AbstractProcessor {
|
public class JdbcMapperProcessor extends AbstractProcessor {
|
||||||
|
|
||||||
public static final Pattern paramPattern = Pattern.compile("\\{(([^\\s]+)\\s+(([Nn][Oo][Tt]\\s+)?[Ii][Nn]\\s+))?([BbCcSs][LlQq][OoLl][Bb]?\\s*:\\s*([^:}]+\\s*:\\s*)?)?([^}]+)\\}");
|
public static final Pattern paramPattern = Pattern.compile("\\{(([^\\s]+)\\s+(([Nn][Oo][Tt]\\s+)?[Ii][Nn]\\s+))?([BbCcSs][LlQqTt][OoLlRr][Bb]?\\s*:\\s*([^:}]+\\s*:\\s*)?)?([^}]+)\\}");
|
||||||
|
|
||||||
public static final SourceVersion RELEASE_8;
|
public static final SourceVersion RELEASE_8;
|
||||||
public static boolean java8;
|
public static boolean java8;
|
||||||
@ -423,23 +423,32 @@ public class JdbcMapperProcessor extends AbstractProcessor {
|
|||||||
bindParams.add(sve);
|
bindParams.add(sve);
|
||||||
sqlParam = true;
|
sqlParam = true;
|
||||||
sqlIterableParam |= sve.iterable || sve.bindable;
|
sqlIterableParam |= sve.iterable || sve.bindable;
|
||||||
} else if(upperClobBlobSql.startsWith("CLOB") || upperClobBlobSql.startsWith("BLOB")) {
|
} else if(upperClobBlobSql.startsWith("CLOB") || upperClobBlobSql.startsWith("BLOB") || upperClobBlobSql.startsWith("STR")) {
|
||||||
bindParamMatcher.appendReplacement(sb, "?");
|
bindParamMatcher.appendReplacement(sb, "?");
|
||||||
final boolean clobNotBlob = 'C' == upperClobBlobSql.charAt(0);
|
switch (upperClobBlobSql.charAt(0)) {
|
||||||
if (clobNotBlob) {
|
case 'B':
|
||||||
if (blobCharset != null)
|
bindParams.add(new SpecialVariableElement(bindParam, SpecialVariableElement.SpecialType.BLOB, blobCharset));
|
||||||
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "blob character set not valid with clob", bindParam);
|
break;
|
||||||
bindParams.add(new SpecialVariableElement(bindParam, SpecialVariableElement.SpecialType.CLOB));
|
case 'C':
|
||||||
} else {
|
if (blobCharset != null)
|
||||||
bindParams.add(new SpecialVariableElement(bindParam, SpecialVariableElement.SpecialType.BLOB, blobCharset));
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "blob character set not valid with clob", bindParam);
|
||||||
|
bindParams.add(new SpecialVariableElement(bindParam, SpecialVariableElement.SpecialType.CLOB));
|
||||||
|
break;
|
||||||
|
case 'S':
|
||||||
|
if (blobCharset != null)
|
||||||
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "blob character set not valid with str", bindParam);
|
||||||
|
if(upperClobBlobSql.startsWith("STRB")) // side-effect of regex matching...
|
||||||
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "special variable type can only be clob/blob/str/sql, not " + clobBlobSql, bindParam);
|
||||||
|
bindParams.add(new SpecialVariableElement(bindParam, SpecialVariableElement.SpecialType.STR_BOOLEAN));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "special variable type can only be clob/blob/sql, not " + clobBlobSql, bindParam);
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "special variable type can only be clob/blob/str/sql, not " + clobBlobSql, bindParam);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(clobBlobSql != null)
|
if(clobBlobSql != null)
|
||||||
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "cannot combine in/not in and clob/blob/sql", bindParam);
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "cannot combine in/not in and clob/blob/str/sql", bindParam);
|
||||||
SpecialVariableElement inListBindParam = inListBindParams.get(paramName);
|
SpecialVariableElement inListBindParam = inListBindParams.get(paramName);
|
||||||
if(inListBindParam == null) {
|
if(inListBindParam == null) {
|
||||||
inListBindParam = new SpecialVariableElement(bindParam,
|
inListBindParam = new SpecialVariableElement(bindParam,
|
||||||
@ -1018,6 +1027,16 @@ public class JdbcMapperProcessor extends AbstractProcessor {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case STR_BOOLEAN: {
|
||||||
|
if (types.isAssignable(o, booleanType) || o.getKind() == TypeKind.BOOLEAN) {
|
||||||
|
method = "String";
|
||||||
|
variableName = "com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(" + variableName + ")";
|
||||||
|
} else {
|
||||||
|
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "JdbcMapper {str:paramName} only valid for boolean, Boolean", specialParam.delegate);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SQL: {
|
case SQL: {
|
||||||
if(specialParam.iterable || specialParam.bindable) {
|
if(specialParam.iterable || specialParam.bindable) {
|
||||||
w.append("psParamCount = com.moparisthebest.jdbc.util.PreparedStatementUtil.recursiveBindIndex(ps, psParamCount, ").append(specialParam.name);
|
w.append("psParamCount = com.moparisthebest.jdbc.util.PreparedStatementUtil.recursiveBindIndex(ps, psParamCount, ").append(specialParam.name);
|
||||||
|
@ -3,6 +3,7 @@ package com.moparisthebest.jdbc.codegen;
|
|||||||
import com.moparisthebest.jdbc.ArrayInList;
|
import com.moparisthebest.jdbc.ArrayInList;
|
||||||
import com.moparisthebest.jdbc.QueryMapper;
|
import com.moparisthebest.jdbc.QueryMapper;
|
||||||
import com.moparisthebest.jdbc.util.Bindable;
|
import com.moparisthebest.jdbc.util.Bindable;
|
||||||
|
import com.moparisthebest.jdbc.util.ResultSetUtil;
|
||||||
|
|
||||||
import javax.annotation.processing.Messager;
|
import javax.annotation.processing.Messager;
|
||||||
import javax.annotation.processing.ProcessingEnvironment;
|
import javax.annotation.processing.ProcessingEnvironment;
|
||||||
@ -135,6 +136,8 @@ public class SimpleSQLChecker implements SQLChecker {
|
|||||||
return new ByteArrayInputStream(new byte[1]);
|
return new ByteArrayInputStream(new byte[1]);
|
||||||
case CLOB:
|
case CLOB:
|
||||||
return new StringReader(defaultString);
|
return new StringReader(defaultString);
|
||||||
|
case STR_BOOLEAN:
|
||||||
|
return ResultSetUtil.TRUE;
|
||||||
case SQL:
|
case SQL:
|
||||||
return Bindable.empty;
|
return Bindable.empty;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ class SpecialVariableElement implements VariableElement {
|
|||||||
CLOB,
|
CLOB,
|
||||||
BLOB,
|
BLOB,
|
||||||
SQL,
|
SQL,
|
||||||
|
STR_BOOLEAN,
|
||||||
}
|
}
|
||||||
|
|
||||||
final VariableElement delegate;
|
final VariableElement delegate;
|
||||||
|
@ -21,6 +21,7 @@ public class ParamPatternTest {
|
|||||||
testMatch("{last_name IN lastNames}", s("last_name IN ", "last_name", "IN ", null, null, null, "lastNames"));
|
testMatch("{last_name IN lastNames}", s("last_name IN ", "last_name", "IN ", null, null, null, "lastNames"));
|
||||||
testMatch("{last_name not in lastNames}", s("last_name not in ", "last_name", "not in ", "not ", null, null, "lastNames"));
|
testMatch("{last_name not in lastNames}", s("last_name not in ", "last_name", "not in ", "not ", null, null, "lastNames"));
|
||||||
testMatch("{clob:comment}", s(null, null, null, null, "clob:", null, "comment"));
|
testMatch("{clob:comment}", s(null, null, null, null, "clob:", null, "comment"));
|
||||||
|
testMatch("{clob : comment}", s(null, null, null, null, "clob : ", null, "comment"));
|
||||||
testMatch("{clob: comment}", s(null, null, null, null, "clob: ", null, "comment"));
|
testMatch("{clob: comment}", s(null, null, null, null, "clob: ", null, "comment"));
|
||||||
testMatch("{blob: comment}", s(null, null, null, null, "blob: ", null, "comment"));
|
testMatch("{blob: comment}", s(null, null, null, null, "blob: ", null, "comment"));
|
||||||
testMatch("{Blob: comment}", s(null, null, null, null, "Blob: ", null, "comment"));
|
testMatch("{Blob: comment}", s(null, null, null, null, "Blob: ", null, "comment"));
|
||||||
@ -38,6 +39,10 @@ public class ParamPatternTest {
|
|||||||
testMatch("{Sql : sqlStatement}", s(null, null, null, null, "Sql : ", null, "sqlStatement"));
|
testMatch("{Sql : sqlStatement}", s(null, null, null, null, "Sql : ", null, "sqlStatement"));
|
||||||
testMatch("{sql:person:sqlStatement}", s(null, null, null, null, "sql:person:", "person:", "sqlStatement"));
|
testMatch("{sql:person:sqlStatement}", s(null, null, null, null, "sql:person:", "person:", "sqlStatement"));
|
||||||
testMatch("{sql:JOIN person ON p.person_no = b.person_no:sqlStatement}", s(null, null, null, null, "sql:JOIN person ON p.person_no = b.person_no:", "JOIN person ON p.person_no = b.person_no:", "sqlStatement"));
|
testMatch("{sql:JOIN person ON p.person_no = b.person_no:sqlStatement}", s(null, null, null, null, "sql:JOIN person ON p.person_no = b.person_no:", "JOIN person ON p.person_no = b.person_no:", "sqlStatement"));
|
||||||
|
|
||||||
|
testMatch("{str:comment}", s(null, null, null, null, "str:", null, "comment"));
|
||||||
|
testMatch("{str: comment}", s(null, null, null, null, "str: ", null, "comment"));
|
||||||
|
testMatch("{str : comment}", s(null, null, null, null, "str : ", null, "comment"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void testMatch(final String sql, final Collection<String[]> expected) {
|
private static void testMatch(final String sql, final Collection<String[]> expected) {
|
||||||
|
@ -50,6 +50,15 @@ public interface PersonDAO extends JdbcMapper {
|
|||||||
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:firstName} WHERE person_no = {personNo}")
|
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:firstName} WHERE person_no = {personNo}")
|
||||||
void setFirstNameBlob(String firstName, long personNo) throws SQLException;
|
void setFirstNameBlob(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:utf-16:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameBlobUtf16(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {clob:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameClob(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {str:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameStringBoolean(boolean firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
|
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
|
||||||
long getPersonNo(String lastName) throws SQLException;
|
long getPersonNo(String lastName) throws SQLException;
|
||||||
|
|
||||||
|
@ -50,6 +50,15 @@ public interface PrestoPersonDAO extends PersonDAO {
|
|||||||
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:firstName} WHERE person_no = {personNo}")
|
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:firstName} WHERE person_no = {personNo}")
|
||||||
void setFirstNameBlob(String firstName, long personNo) throws SQLException;
|
void setFirstNameBlob(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {blob:utf-16:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameBlobUtf16(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {clob:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameClob(String firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
|
@JdbcMapper.SQL("UPDATE person SET first_name = {str:firstName} WHERE person_no = {personNo}")
|
||||||
|
void setFirstNameStringBoolean(boolean firstName, long personNo) throws SQLException;
|
||||||
|
|
||||||
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
|
@JdbcMapper.SQL("SELECT person_no FROM person WHERE last_name = {lastName}")
|
||||||
long getPersonNo(String lastName) throws SQLException;
|
long getPersonNo(String lastName) throws SQLException;
|
||||||
|
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOAnyBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOBindBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOOracleBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOUnNestBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOAnyBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOBindBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOOracleBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
@ -170,6 +170,49 @@ public class PersonDAOUnNestBean implements PersonDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameBlobUtf16(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
try {
|
||||||
|
ps.setBlob(1, firstName == null ? null : new java.io.ByteArrayInputStream(firstName.getBytes("utf-16")));
|
||||||
|
} catch (java.io.UnsupportedEncodingException e) {
|
||||||
|
throw new SQLException("String to Blob UnsupportedEncodingException", e);
|
||||||
|
}
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameClob(final java.lang.String firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setClob(1, firstName == null ? null : new java.io.StringReader(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFirstNameStringBoolean(final boolean firstName, final long personNo) throws java.sql.SQLException {
|
||||||
|
PreparedStatement ps = null;
|
||||||
|
try {
|
||||||
|
ps = conn.prepareStatement("UPDATE person SET first_name = ? WHERE person_no = ?");
|
||||||
|
ps.setString(1, com.moparisthebest.jdbc.util.ResultSetUtil.booleanToString(firstName));
|
||||||
|
ps.setObject(2, personNo);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} finally {
|
||||||
|
tryClose(ps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
public long getPersonNo(final java.lang.String lastName) throws java.sql.SQLException {
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
Loading…
Reference in New Issue
Block a user