下面是XML 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="visitorinfo">
<select id="getallinfo" parameterMap="getallinfo_map" resultMap="java.util.Map">
<include refid="getallinfo1" />
<!-- -->
</select>
<sql id="getallinfo1">
select count(v.webcount) zero,
count(case
when
v.webcount
>= 1 then
v.webcount
end) one,
count(case
when v.webcount
>= 3 and
v.clientcount
>= 1 then
v.webcount
end)
two,
max(c.company),max(v.comid),max(v.entertime),min(v.endtime)
from
visitorinfo v, company c
where v.chatstart >= to_date('2012-1-31
13:53:10',
'YYYY-MM-DDHH24:MI:SS')
and v.endtime <=
to_date('2012-10-31 13:53:10',
'YYYY-MM-DDHH24:MI:SS')
and v.comid =
c.comid group by v.comid
</sql>
</mapper>
dao
@Override
public List<?> getallvisitorinfo() {
// TODO Auto-generated method stub
return this.sqlSessionTemplate.selectList("getallinfo");
}
输出结果:
{ENTERTIME)=2012-08-17 17:19:04.0, COMID)=143937}, 2, 2, {ENDTIME)=2012-07-26 11:39:11.0}, 6, {COMPANY)=北京喜洋洋花店}]
{MAX(V={ENTERTIME)=2012-10-03 20:31:16.0, COMID)=138282}, ONE=0, TWO=0, MIN(V={ENDTIME)=2012-09-09 00:15:42.0}, ZERO=2, MAX(C={COMPANY)=天德毛毡制品厂}}
[{ENTERTIME)=2012-10-03 20:31:16.0, COMID)=138282}, 0, 0, {ENDTIME)=2012-09-09 00:15:42.0}, 2, {COMPANY)=天德毛毡制品厂}]。。。。。。。。。。。。}
分享到:
相关推荐
通过上述分析可以看出,文档中的内容主要是关于如何在Ibatis中构建动态SQL语句以查询特定条件下的ID列表。这些技巧对于提高数据库查询的灵活性和效率非常重要。开发者可以根据具体的业务需求调整各个动态SQL元素中的...
- `resultClass`属性定义了查询结果的类型,这里是`java.lang.Integer`,表示返回的是一个整数,即帖子的数量。 8. **数据类型转换**: - 在`#auditStatus:NUMERIC#`这样的占位符中,`:NUMERIC#`部分是Ibatis的...
通过上述示例,我们可以了解到如何在 iBatis 中编写复杂的 SQL 查询语句,并且如何通过定义合适的 `ResultMap` 来处理查询结果。这对于实际项目开发具有重要的指导意义,有助于开发者更好地利用 iBatis 提高开发效率...
【描述】:本文将详细解析iBATIS框架中的查询功能,包括处理复杂对象关系、XML映射和数据集操作,旨在帮助开发者充分利用iBATIS进行高效数据库操作。 【标签】:iBATIS、查询、映射、对象关系 【正文】: iBATIS...
在本篇文章中,我们将深入解析Ibatis的实现原理,探讨其核心功能、工作流程以及优势。 一、Ibatis的核心概念 1. SQL映射文件:Ibatis通过XML或注解方式定义SQL语句,这些语句被封装在SQL映射文件中。映射文件包含...
### ibatis多参数查询解析 #### 一、引言 在使用ibatis(现称为MyBatis)进行数据库操作时,经常会遇到需要处理多个输入参数的情况。然而,默认情况下ibatis只支持单个输入参数,这在实际开发中往往难以满足需求。...
在IT行业中,ORM(Object-Relational Mapping)框架是数据库操作的重要...log4j作为日志管理工具,可以帮助开发者更好地查看和分析查询结果。理解这些概念并熟练应用,对于进行复杂数据库操作的Java开发工作至关重要。
本文将围绕“IBATIS开发使用实例”这一主题,深入解析复杂SQL查询的应用,尤其是如何利用SQL进行多表关联、条件筛选以及聚合函数的使用。 ### IBATIS简介 IBATIS,现被称为MyBatis,是一种优秀的持久层框架,它...
映射文件通常包含SQL语句和结果映射,其中结果映射定义了数据库查询结果如何转换为Java对象。 例如,在一对多关系中,一个实体(如用户)可以有多个关联的实体(如订单)。在iBATIS中,你可以通过`<collection>`...
ResultSetHandler处理查询结果,将数据库结果集映射为Java对象。在`org.apache.ibatis.executor.resultset.ResultSetHandler`中,ResultMap被用来定义字段与Java对象属性的映射关系。ResultMap不仅支持简单的列名...
根据提供的部分代码,我们可以详细分析如何在ibatis中实现and与or联合查询。 ```xml <![CDATA[starttime>=#starttime#]]> <![CDATA[starttime]]> <![CDATA[rentcompany like '%$rentcompany%']]> ...
6. **源码分析**:理解Ibatis的源码有助于我们更好地利用其分页功能。例如,查看Executor的执行过程,了解参数是如何传递到SQL中的,以及如何与数据库交互。 7. **工具辅助**:除了PageHelper,还有其他如MyBatis-...
- `resultMap="MemberPost.result"`指定结果映射,用于处理查询结果集和Java对象之间的映射关系。 - SQL语句中使用了表别名,如`p.*`,其中`p`是`MEMBER_POST`表的别名。 - 条件`m.AUDIT_STATUS = #bo.AUDIT_STATUS:...
此外,iBATIS还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...
4. **结果映射**:iBATIS能将查询结果自动映射到Java对象,减少了手动转换的工作量。 5. **动态SQL**:通过iBATIS的动态标签,开发者可以在XML映射文件中编写条件语句,实现SQL的动态生成。 6. **缓存机制**:...
### MySQL、JDBC详解及与iBatis对比 ...通过对MySQL的基本操作、JDBC的工作原理以及iBatis与JDBC的对比分析,我们可以更全面地理解数据库编程的关键概念和技术要点。希望本文能够帮助开发者们更加熟练地掌握这些技能。
具体表现为:当第一次查询某个表时,IBatis会将查询结果中的字段名缓存起来;而在后续查询其他表时,如果这些表的字段与之前缓存的字段不一致,就会导致查询失败。 #### 问题分析 在IBatis框架中,`...
6. **缓存机制**:iBATIS提供了一种缓存机制,可以缓存查询结果,提高应用程序性能。缓存可以在全局和局部层面进行配置。 7. **事务管理**:iBATIS支持编程式和声明式两种事务管理方式,可以根据项目需求灵活选择。...
3. 结果映射:iBatis能够自动将查询结果转换为Java对象,支持一对一、一对多、多对多等多种映射关系。 4. 缓存机制:iBatis提供了本地缓存和二级缓存,以提高数据读取速度,减少数据库交互。 5. 易于集成:iBatis...
结果映射是iBatis将查询结果与Java对象进行绑定的关键,包括了基本类型映射、复杂类型映射(如自定义对象、集合、Map等)和关联映射(一对一、一对多、多对多)。 6. **缓存机制** iBatis提供了本地缓存和二级...