我想使用预处理语句插入一个大整数值,我有一个名为xid的字符串变量(41527820021925053)
preparedStatement = conn.prepareStatement(sql); preparedStatement.setObject(1,XOBJ); preparedStatement.setObject(2,YOBJ); preparedStatement.setBigInteger(3,xid); preparedStatement.setInt(4,23); preparedStatement.executeUpdate(); preparedStatement.close();
我是新手,如何实现这一目标.
解决方法
PreparedStatement
没有setBigInteger()方法.
使用以下方法之一:
> setBigDecimal(3,new BigDecimal(xid))
> setLong(3,Long.parseLong(xid))
如果价值可以在一个长期内适合
> setString(3,xid)
让JDBC驱动程序为您转换字符串
UPDATE
使用以下comment made by OP,上面的第二个选项(现在突出显示)是正确的选项,因为Postgresql bigint与Java long相同.
guys i am using postgres & it has bigint [“UniqueIdGenerator”()] data-type,which is a 17 digit big integer.