1
我打電話的存儲過程在MySql數據庫SimpleJdbcCall時參數不插入空爲NULL值
CREATE PROCEDURE `sp_1` (IN in_param1 VARCHAR(255))
BEGIN
INSERT INTO t_1 (field1) VALUES (in_param1);
END
與SimpleJdbcCall
對象:
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(dataSource);
jdbcCall.withoutProcedureColumnMetaDataAccess();
jdbcCall.withProcedureName(procedureName);
String paramValue = "new value";
MapSqlParameterSource map = new MapSqlParameterSource();
jdbcCall.addDeclaredParameter(new SqlParameter(Types.VARCHAR));
map.addValue("in_param1", paramValue, Types.VARCHAR);
SqlParameterSource sqlParameterSource = map;
jdbcCall.execute(sqlParameterSource);
它工作正常,除了當paramValue
變量空:
String paramValue = null;
在這種情況下,該字段具有「空」文本而不是數據庫中的NULL值。
有沒有人有任何想法,我該如何創建參數發送一個真正的NULL值到數據庫?
在此先感謝!
我已經試過你的建議('java.sql.Types.NULL'),結果是一樣的:在該領域「零」的文字。 – jsaludas 2015-03-02 14:47:24
我正在使用舊版本的jdbc庫。感謝您的幫助@konstantin – jsaludas 2015-03-03 17:02:04