我在

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上运行相关推荐

  1. java可以做苹果软件吗_Java应用软件iPhone上运行 苹果没兴趣Sun单干

    CNET科技资讯网3月10日国际报道 Sun正在为苹果iPhone开发一款JVM(Java虚拟机),并计划在6月份发布这款软件,使Java应用软件能够在iPhone上运行. Sun负责Java研究的副 ...

  2. linux make java版本,告诉make是否在Windows或Linux上运行

    更新请阅读这个类似但更好的答案:https://stackoverflow.com/a/14777895/938111 make (和 gcc )可以使用Cygwin或MinGW在MS-Windows ...

  3. java.sql.preparedstatement的应用

    jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力. 在使用state ...

  4. PreparedStatement 的 setDate 方法设置 java.sql.Date 日期

    PreparedStatement 的 setDate 方法设置 java.sql.Date 日期 实现通过JDBC向oracle数据库中插入时间类型数据. 主要通过 PrepareStatement ...

  5. java sql函数_Java调用Sql存储过程实例讲解

    1.使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转 义序列.不带参数的 call 转义序列的语法如下所示: {call procedure-n ...

  6. Java -- SQL注入

    为什么会产生SQL注入问题 举一个简单的SQL注入攻击的例子: 假如我们有一个users表,里面有两个字段username和password.在我们的java代码中我们初学者都习惯用sql拼接的方式进 ...

  7. 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 ...

  8. java sql绑定_在JAVA 源程序中编写SQL语句时使用ORACLE 绑定变量

    在Java中,结合使用setXXX 系列方法,可以为不同数据类型的绑定变量进行赋值,从而大大优化了SQL 语句的性能. 没有使用绑定变量是使用Oracle数据库的应用系统性能问题主要原因和可伸缩性的主 ...

  9. java+sql企业固定资产管理系统(论文+系统+开题报告+任务书+中期考核报告+任务书+评语表+答辩PPT)

    毕业设计(论文)任务书 课题名称: 企业固定资产管理系统 姓 名 指导教师 专 业 职 称 所在系 指导教师 接受任务日期 职 称 毕业设计(论文)地点 本 校 一.原始依据(资料):某公司业务不断发 ...

  10. 取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 ...

最新文章

  1. iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
  2. u盘驱动 内核代码阅读 2.6.11.12版本
  3. spi 外设驱动(spi_driver)
  4. mysql 做回归模型_GitHub - themycode/intelligent-test-platform: intelligent-test-platform
  5. JAVA入门级教学之(多态)
  6. Dapper实用教程
  7. 图像仿射变换之图像旋转 python
  8. 【Python】Python3.9又更新了:dict内置新功能,正式版十月见面
  9. c++ pipe 同步 互斥_LiteOS内核教程04 | 信号量(任务同步)
  10. web扫描工具-Nikto介绍与使用
  11. (四.2)计算机组成原理笔记——存储器(静态RAM和动态RAM的区别,动态RAM的刷新, ROM……)
  12. JS对象(对象的创建、属性的增删改查、属性的检测和枚举)
  13. android界面图标大全,Android UI设计常识和Android UI界面欣赏酷站推荐
  14. C语言基础概述(一)
  15. 商务协同办公市场有「后浪」
  16. cadence 通孔焊盘_allegro通孔类焊盘的制作方法
  17. 遇到CPU Exception,我该怎么办?
  18. drupal7 services
  19. H3C路由器PPPoE拨号 IPv6地址一直显示[TENTATIVE]的故障
  20. android 文件读写概述

热门文章

  1. c语言数据结构学习心得——栈
  2. linux下mysql5.7以上my.cnf配置文件配置
  3. 实习阶段修改的第一个bug(完成了一个需求)
  4. ZigBee协议栈解析
  5. 解决关于phpstorm打开速度很慢的问题
  6. 跟着偶像学大数据——开端篇
  7. 命令行参数解析函数 getopt
  8. Js 模式对话框(转)
  9. python时间序列如何拟合曲线_以“datetime”格式拟合时间序列的曲线?
  10. About 产量数据选取问题