I’m using Spring MVC and SimpleJdbcInsert to insert objects into a MySQL database. I’d like to set the blank input to NULL in the database rather than ''. I have quite a few fields, and I’m hoping for a way to do this without manually checking every value.
Thanks!
UPDATE
So I’m an idiot. Several errors combined on my part led me to believe the correct answers below were not correct. I’d written a PropertyEditorSupport like this:
class StringEditor extends PropertyEditorSupport {
public void setAsText(String text) {
String value = text.trim();
if ("" == value) {
setValue(null);
} else {
setValue(value);
}
}
}
There are two problems:
- no getAsText, so my form was getting populated with “null” strings!
- my equality check is C++, not Java. When I tried the recommended
setter, I just reloaded the post, which already contained the “null”
strings. Once I cleaned all that up, everything started working.
Thanks for the help, and sorry for my “operator error”!
Brett
The class you’re looking for is:
If you construct it with a
trueit will convert empty/whitespace strings to null. How to get it registered onto the binder depends on if you want it to be the default or only apply to certain views.e.g., on a single controller you can just add
instructions here