0 0

关于iBatis的Oracle的日期方面查询问题10

下面是我配置的关于表操作的xml代码:

    <select id="selectToMobileMTFlowPage">      <!---->      WHERE toUserMobile=#toUserMobile#       AND creatTime>=to_date(#startDate#,'yyyy-MM-dd HH24:MI:SS')       AND creatTime<=to_date(#endDate#,'yyyy-MM-dd HH24:MI:SS')       ORDER BY creatTime DESC) A WHERE ROWNUM <=((#start#+1)*#pageSize#))WHERE RN >=(#start#*#pageSize#+1)  ]]>    </select>

 

 

ibatis.log打出的日志如下:

[DEBUG] 2008-12-31 17:42:04 {conn-100000} Connection
[DEBUG] 2008-12-31 17:42:04 {pstm-100001} PreparedStatement:        SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM FLOW_MT_2008_12        WHERE toUserMobile=?        AND creatTime>=to_date(?,'yyyy-MM-dd HH24:MI:SS')        AND creatTime<=to_date(?,'yyyy-MM-dd HH24:MI:SS')     ORDER BY creatTime DESC) A WHERE ROWNUM <=((?+1)*?))WHERE RN >=(?*?+1)   
[DEBUG] 2008-12-31 17:42:04 {pstm-100001} Parameters: [13683306959, 2008-12-29 19:20:01, 2008-12-31 22:57:01, 0, 10, 0, 10]
[DEBUG] 2008-12-31 17:42:04 {pstm-100001} Types: [java.lang.String, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer]
[DEBUG] 2008-12-31 17:42:04 {rset-100002} ResultSet

 

 

返回结果为个数为0,时间上符合条件的有两个,我把上面的语句拼成sql语句如下:

SELECT * FROM(SELECT A.*, ROWNUM RN FROM (SELECT * FROM FLOW_MT_2008_12 WHERE toUserMobile='13683306959'
AND creatTime>=to_date('2008-12-29 19:20:01','yyyy-MM-dd HH24:MI:SS')
AND creatTime<=to_date('2008-12-31 22:57:01','yyyy-MM-dd HH24:MI:SS')
ORDER BY creatTime DESC) A WHERE ROWNUM <=((0+1)*10))WHERE RN >=(0*10+1)

这样就可以从数据库中查出那两条记录。

 

希望大家帮帮忙看看是怎么回事,谢谢!

2009年1月04日 10:30

1个答案 按时间排序 按投票排序

0 0

你传入来的startDate和endDate是什么类型的?

如果是Date的话,在Java里面先做一步转换,转换成String,再传入进来。

2009年1月04日 13:25

相关推荐

    ibatis+oracle实例

    在实际项目中,Ibatis与Oracle的结合使用主要体现在以下几个方面: 1. **SQL调优**:Ibatis允许直接编写原生的SQL,便于充分利用Oracle的特性进行性能优化。 2. **事务管理**:Ibatis提供了对数据库事务的控制,...

    ibatis-2.3.3.720

    - 自定义SQL:iBatis允许开发者直接编写SQL语句,避免了ORM工具带来的性能损耗,同时也能够应对复杂的查询需求。 - 动态SQL:通过使用`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`等标签,可以实现SQL条件的动态...

    扩展 iBatis 以透明支持多种数据库

    例如,MySQL 和 Oracle 在语法上有差异,如分页查询、日期处理等。通过创建和注册新的方言类,可以确保 SQL 能够正确地在不同数据库上执行。 2. **数据源配置**:为了支持多种数据库,需要在 iBatis 的配置文件中...

    北语19春《Oracle数据库开发》作业1234满分答案.pdf

    3. **日期和时间函数**:在SQL查询中,`current_date()`用于返回会话中的日期,而`localtimestamp()`则返回当前日期和时间。正确答案是D。 4. **更改表名**:在Oracle中,更改表名可以使用`ALTER TABLE`语句配合`...

    北语19春《Oracle数据库开发》作业1234满分答案.docx

    Oracle数据库开发是一个重要的领域,涉及数据存储、查询和管理等多个方面。在北语19春的《Oracle数据库开发》作业中,我们可以看到一系列与数据库管理相关的知识点。 首先,数据库的基本逻辑结构是表空间(B选项)...

    数据库迁移及区别比较(Oracle,Sql Server,MySql).docx

    5. **模糊查询**:MySQL的模糊查询通常使用`LIKE`,而SQL Server和Oracle支持更复杂的通配符查询。 在ORM(对象关系映射)工具如Hibernate和iBatis中,数据库迁移可能导致效率变化。例如,某些数据库特定的优化可能...

    大数据功能模块概要设计_V1.1.pdf

    《大数据功能模块概要设计_V1.1.pdf》是一份详细阐述大数据系统构建的文档,主要涉及了系统架构、通用组件和技术选型等方面。在大数据领域,这些模块是构建高效、稳定、可扩展的数据处理平台的关键组成部分。 首先...

    Java机试相关题目34题

    在本次提供的题目集中,包含了多个与Java编程相关的实践任务,涵盖了MVC设计模式、类设计、数据结构、算法实现、文件处理、网络编程等多个方面。下面对各题目进行知识点的详细说明: 1. MVC三层架构模式:在Java ...

    BookManagement

    增加功能允许用户录入新书的详细信息,如书名、作者、出版社、出版日期等;删除功能则用于移除不再需要的图书记录;修改功能允许更新已有的图书信息;查询功能则提供了多种方式(如按书名、作者等)快速找到所需图书...

    文思面试题(java)

    21. **SQL联接查询**:掌握INNER JOIN、LEFT JOIN、RIGHT JOIN等不同类型的联接查询,以及Oracle特有的JOIN语法。 22. **调试技巧**:了解如何使用IDE的调试功能,设置断点、步进执行、查看变量值等。 23. **多...

    大数据功能模块概要设计.doc

    3.2 **数据库**:关系型数据库如Oracle、MySQL,Oracle要求10g以上版本。NoSQL数据库如mongodb、hadoop、hive、hbase、memcached、redis等用于非结构化数据处理。 3.3 **底层开发框架**:Java服务端开发推荐使用...

    java开发的岗位职责-java开发岗位职责.docx

    3. **数据库熟悉度:** 应熟悉主流数据库如MySql和Oracle等,这包括数据库的设计、查询以及性能优化等方面的知识。 4. **出差适应性:** 能够适应短期出差,这表明该岗位可能涉及现场支持或客户交流等工作。 **综合...

    一份简约高级的Java后端程序猿简历

    1. **基本信息**:求职者应清晰、准确地提供个人资料,包括姓名、性别、出生日期、民族、现居住地、联系方式和电子邮件,以便潜在雇主能够快速联系。 2. **求职意向**:明确表达求职者的目标职位是JAVA开发工程师,...

    软件规格说明书

    该文档旨在确保软件开发过程中,所有参与者(包括开发者、测试人员、项目经理等)对软件的目标、功能、性能指标等方面有共同的理解。 本篇“软件规格说明书”以清华大学和哈尔滨工业大学的教学资料为基础,详细介绍...

    最新Java面试宝典pdf版

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    Java面试宝典-经典

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

    java面试题大全(2012版)

    1. 判断第二个日期比第一个日期大 82 2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? ...

Global site tag (gtag.js) - Google Analytics