我正在使用PreparedStatements进行Java数据库工作。
我目前正在参考本教程我的MKYong:http://www.mkyong.com/jdbc/jdbc-preparedstatement-example-batch-update/
对于我的主键,我有varchar(10)
用于存储Unix时间。在preparedStatement.setSomething()
之类的声明中,我必须定义它是type
。 varChar(10)
的类型是什么?
Unix的时间是这样的:1382944400,类似于2013年11月8日和今天的某个时间。
答案 0 :(得分:3)
每个CHAR(X)
和VARCHAR(X)
字段都属于String
Java类型。
来自PreparedStatement#setString
javadoc(强调我的):
将指定参数设置为给定的Java
String
值。该驱动程序会将其转换为SQL VARCHAR
或LONGVARCHAR
值(取决于参数的大小相对于驱动程序对VARCHAR
的限制当它将数据发送到数据库时。
答案 1 :(得分:1)
varchar的自然类型是String,虽然大多数其他类型可能正常工作并被转换(如果你至少使用setObject()
)。
但为什么要使用varchar来存储长值?为什么不用数字呢?这将消耗更少的内存,导致更好的自然排序,并且会更有效率。