java sql.setInt_java – PreparedStatement的setInt()无法在PostgreSQL上运行
我在
Eclipse上使用PostgreSQL 9.1和Tomcat 7.连接是通过连接池进行的.当我为PreparedStatement使用setInt()方法时,不返回任何内容.打印PreparedStatement时,’?’被一些奇怪的String取代我想是对象的引用.当我使用方法setObject()和相应的Type.INTEGER时,打印的语句包含正确的值但是作为String,并强制要求Int.
这是代码:
public User_DTO[] select(User_DTO params, int order, int limit, int offset)
{
User_DTO result = null;
ArrayList result_arr = new ArrayList(0);
String query = "SELECT id, name, role FROM Usuario WHERE name LIKE ? AND role LIKE ? AND id != ? ORDER BY ? LIMIT ? OFFSET ?";
String name = params.getName();
String role = params.getRole();
String id = params.getId();
try
{
conn = Pool.getConnection();
stmt = conn.prepareStatement(query);
stmt.setString(1, "%" + name + "%");
stmt.setString(2, "%" + role + "%");
stmt.setString(3, id);
// Using setInt()
// stmt.setInt(4, order);
// Using setObject
stmt.setObject(4, order, Types.INTEGER);
System.out.println(order);
if(limit == -1)
{
stmt.setNull(5, Types.NULL);
}
else
{
stmt.setInt(5, limit);
}
stmt.setInt(6, offset);
//
System.out.println(stmt);
rs = stmt.executeQuery();
while(rs.next())
{
result = new User_DTO();
result.setId(rs.getString("id"));
result.setName(rs.getString("name"));
result.setRole(rs.getString("role"));
result_arr.add(result);
}
}
catch(SQLException sql_e)
{
sql_e.printStackTrace();
}
finally
{
Pool.close(conn, stmt, rs);
}
return (result != null) ? result_arr.toArray(new User_DTO[result_arr.size()]) : null;
}
使用setInt()的打印语句是这样的:
SELECT id, name, role FROM Usuario WHERE name LIKE '%%' AND role LIKE '%%' AND id != '13253cc9' ORDER BY '[B@65adcbab' LIMIT '[B@75167bb3' OFFSET '[B@171360d3'
而使用setObject()打印的那个:
SELECT id, name, role FROM Usuario WHERE name LIKE '%%' AND role LIKE '%%' AND id != '13253cc9' ORDER BY '1' LIMIT '[B@75167bb3' OFFSET '[B@171360d3'
知道为什么会这样吗?
提前致谢!
java sql.setInt_java – PreparedStatement的setInt()无法在PostgreSQL上运行相关推荐
- java可以做苹果软件吗_Java应用软件iPhone上运行 苹果没兴趣Sun单干
CNET科技资讯网3月10日国际报道 Sun正在为苹果iPhone开发一款JVM(Java虚拟机),并计划在6月份发布这款软件,使Java应用软件能够在iPhone上运行. Sun负责Java研究的副 ...
- linux make java版本,告诉make是否在Windows或Linux上运行
更新请阅读这个类似但更好的答案:https://stackoverflow.com/a/14777895/938111 make (和 gcc )可以使用Cygwin或MinGW在MS-Windows ...
- java.sql.preparedstatement的应用
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力. 在使用state ...
- PreparedStatement 的 setDate 方法设置 java.sql.Date 日期
PreparedStatement 的 setDate 方法设置 java.sql.Date 日期 实现通过JDBC向oracle数据库中插入时间类型数据. 主要通过 PrepareStatement ...
- java sql函数_Java调用Sql存储过程实例讲解
1.使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转 义序列.不带参数的 call 转义序列的语法如下所示: {call procedure-n ...
- Java -- SQL注入
为什么会产生SQL注入问题 举一个简单的SQL注入攻击的例子: 假如我们有一个users表,里面有两个字段username和password.在我们的java代码中我们初学者都习惯用sql拼接的方式进 ...
- java报错java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that
仔细阅读了代码发现 import java.sql.*;public class DataBase {public static void main(String[] args) throws SQL ...
- java sql绑定_在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量
在Java中,结合使用setXXX 系列方法,可以为不同数据类型的绑定变量进行赋值,从而大大优化了SQL 语句的性能. 没有使用绑定变量是使用Oracle数据库的应用系统性能问题主要原因和可伸缩性的主 ...
- java+sql企业固定资产管理系统(论文+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT)
毕业设计(论文)任务书 课题名称: 企业固定资产管理系统 姓 名 指导教师 专 业 职 称 所在系 指导教师 接受任务日期 职 称 毕业设计(论文)地点 本 校 一.原始依据(资料):某公司业务不断发 ...
- 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...
1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...
最新文章
- iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
- u盘驱动 内核代码阅读 2.6.11.12版本
- spi 外设驱动(spi_driver)
- mysql 做回归模型_GitHub - themycode/intelligent-test-platform: intelligent-test-platform
- JAVA入门级教学之(多态)
- Dapper实用教程
- 图像仿射变换之图像旋转 python
- 【Python】Python3.9又更新了:dict内置新功能,正式版十月见面
- c++ pipe 同步 互斥_LiteOS内核教程04 | 信号量(任务同步)
- web扫描工具-Nikto介绍与使用
- (四.2)计算机组成原理笔记——存储器(静态RAM和动态RAM的区别,动态RAM的刷新, ROM……)
- JS对象(对象的创建、属性的增删改查、属性的检测和枚举)
- android界面图标大全,Android UI设计常识和Android UI界面欣赏酷站推荐
- C语言基础概述(一)
- 商务协同办公市场有「后浪」
- cadence 通孔焊盘_allegro通孔类焊盘的制作方法
- 遇到CPU Exception,我该怎么办?
- drupal7 services
- H3C路由器PPPoE拨号 IPv6地址一直显示[TENTATIVE]的故障
- android 文件读写概述