我想使用预处理语句插入一个大整数值,我有一个名为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.
原文地址:https://www.jb51.cc/java/128017.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。