JDBC API用于修剪String长度以匹配数据库列规范

时间:2016-01-27 11:16:33

标签: java spring jdbctemplate

我的输入字符串比数据库列规范长得多。 我们在jdbctemplate中是否有任何API来自动修剪String以匹配数据库列限制 我们还不确定,本专栏的限制是什么,因为这可能会在未来发生变化,甚至可能因环境而异。 因此,在我的代码中限制String不是一个可行的解决方案,因为我想尽可能多地存储。

3 个答案:

答案 0 :(得分:2)

没有。
这应该是您输入验证的一部分 请注意,在任何情况下,您都不应该信任客户端,因此需要客户端输入验证(即在输入字段上放置maxlength),但这还不够。
您还应该执行服务器端输入验证,并且在任何情况下都不应允许超出数据库列限制的输入。

答案 1 :(得分:1)

  • 为了实现这一点,我们可以使用trim / substring数据库函数 我们正在写的查询。
  • 修剪用户提供的数据并不是一个好主意。如果您无法更改表格,请在多行中输入数据。

答案 2 :(得分:0)

如果您使用的是JPA,可以尝试使用Descriptor PreInsert / PreUpdate事件, 或者可能只使用JPA PreInsert和PreUpdate事件。 您只需检查字段的大小并在事件代码中截断它们。