`
ksjx0014278
  • 浏览: 16942 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

Ibatis 多表多条件查询

    博客分类:
  • java
阅读更多

现在有STUDENT INVESTIGATION CCHOICE 三个表 进行关联查询 在jsp页面上是按照

 性別、卒業大学、専攻、日本語能力、英語能力、希望分野、組込科目、成績1、成績2、成績3

这些字段进行检索 每个条件都可以为空 现在使用 ibatis 进行sql 语句查询 现在给出 查询语句 请帮助修改:

 

 

<!-- 条件によって(性別、卒業大学、専攻、日本語能力、英語能力、希望分野、組込科目、成績1、成績2、成績3) 検索をMapで受け取る -->
 <select id="getstudentList" resultMap="studentJiyouHouResult"
  cacheModel="studentCache">

  <![CDATA[
          SELECT name,kana,gender,birthday,number,subject,graduationSchool,termScore+listeningScore+grammarScore as testScore,japaneseAbility,englishAbility,motto,
            testScoreOne, testScoreTwo,testScoreThree,employmentHope,studied
           FROM STUDENT s,INVESTIGATION i,CCHOICE c
           <dynamic prepend="WHERE">
          
           <isNotNull prepend = "AND" property="genbder">
             ( genbder = #genbder#
                 <isNotNull prepend = "AND" property="graduationSchool">
                     (graduationSchool = #graduationSchool#
                   
                        <isNotNull prepend = "AND" property="subject">
                           ( subject = #subject#
                      
                            <isNotNull prepend = "AND" property="japaneseAbility">
                                (japaneseAbility = #japaneseAbility#
                         
                                    <isNotNull prepend = "AND" property="englishAbility">
                                      ( englishAbility = #englishAbility#
                                
                                          <isNotNull prepend = "AND" property="employmentHope">
                                             ( employmentHope = #employmentHope#
                                    
                                              <isNotNull prepend = "AND" property="studied">
                                                     (studied = #studied#
                                       
                                                        <isNotNull prepend = "AND" property="testScoreOne">
                                                          (  testScoreOne = #testScoreOne#
                                         
                                                              <isNotNull prepend = "AND" property="testScoreTwo">
                                                                 ( testScoreTwo = #testScoreTwo#
                                             
                                                                     <isNotNull prepend = "AND" property="testScoreThree">
                                                                        testScoreThree = #testScoreThree#
             
                                                                    </isNotNull>
                                                                    )
             
                                                             </isNotNull>
                                                           )
             
                                                        </isNotNull>
                                                        )
             
                                                </isNotNull>
                                                )
             
                                           </isNotNull>
                                           )
             
                                     </isNotNull>
                                     )
             
                                </isNotNull>
                                )
             
                             </isNotNull>
                             )
             
                       </isNotNull>
                       )
             
                  </isNotNull>
                  
           </dynamic>
          
           s.userName=i.userName and s.userName=c.studentLoginName
 
  ]]>

 </select>

分享到:
评论

相关推荐

    Ibatis多表查询

    Ibatis 是一款轻量级的持久层框架,它与 JDBC 集成,但比 JDBC 更加方便,更易于管理数据库操作。...在实际项目中,可以根据具体需求调整查询策略,如添加条件查询、分页等,以满足不同的业务场景。

    ibatis多表查询过程

    当我们需要进行多表查询时,iBatis提供了一种高效且易于管理的方式。本文将深入探讨iBatis在处理多表查询时的具体步骤和技巧。 ### 1. iBatis简介 iBatis 是一个基于Java的持久层框架,它简化了数据库访问,并避免...

    ibatis动态多条件组合查询

    ibatis动态多条件组合查询 实例 说明

    Ibatis查询语句里,可以使用多表查询

    ### iBatis 多表查询知识点详解 #### 一、iBatis简介 iBatis 是一款优秀的持久层框架,它将 SQL 映射到 Java 对象,简化了 JDBC 编程过程中的繁琐操作,提高了开发效率。iBatis 的核心功能包括 SQL 映射、动态 SQL...

    ibatis_动态查询条件

    iBatis 动态查询条件详解 iBatis 是一个基于 Java 的持久层框架,它提供了动态查询条件的功能,可以根据不同的条件生成不同的 SQL 语句。在 iBatis 中,动态查询条件是通过 `&lt;dynamic&gt;` 元素来实现的,该元素可以...

    iBatis条件查询

    在本资源中,"iBatis条件查询"着重展示了如何根据业务需求定制SQL语句进行数据检索,尤其在不涉及复杂关联查询的情况下,iBatis可以提供高效且简单的解决方案。 首先,iBatis的核心概念是SQL Map,它是一个XML配置...

    Ibatis复杂查询语句.doc

    总结起来,这个Ibatis查询语句充分展示了Ibatis处理复杂查询的能力,包括动态SQL、子查询、多表联接、条件判断、数据类型映射和迭代处理等功能。在实际开发中,这种灵活性使得Ibatis能够适应各种复杂的业务场景,...

    Ibatis查询Id列表.doc

    根据提供的文档信息,我们可以深入探讨Ibatis框架中的一个具体应用场景:如何通过动态SQL查询特定条件下的ID列表。本文将从以下几个方面进行详细解析: ### 一、Ibatis简介 Ibatis是一个基于Java的持久层框架,它...

    IBatis完成单表基本的数据库操作 模糊查询

    标题 "IBatis完成单表基本的数据库操作 模糊查询" 涉及到的是使用iBatis这个轻量级的持久层框架进行数据库的基本操作,特别是模糊查询。iBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高...

    ibatis 多表

    3. **动态 SQL**:iBatis 的动态 SQL 功能使得在 XML 映射文件中编写条件查询变得简单。你可以使用 `&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;foreach&gt;` 等标签构建动态的 SQL 语句,根据传入参数...

    ibatis下oracle树查询

    通过指定起始节点(START WITH)和连接条件(CONNECT BY),我们可以构建出一个递归查询,从而获取整个树结构。 例如,假设我们有一个部门表DEPARTMENTS,包含ID(主键)、PARENT_ID(父ID)和NAME(部门名称)字段...

    动态ibatis查询语句配置

    动态查询语句配置是Ibatis的一个重要特性,它允许我们在运行时根据业务需求构建灵活多变的SQL语句。这篇博文主要探讨的是如何在Ibatis中设置和使用动态SQL,以便实现更高效、更灵活的数据查询。 首先,我们需要理解...

    ibatis 一对多

    一对多映射是数据库关系模型中的常见概念,指的是一个父表(如部门表)可以对应多个子表(如员工表),每个部门可以有多个员工。在`iBatis` 中,我们可以利用映射文件来配置这种关系,以便在查询时自动处理关联数据...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    ibatis的动态查询

    以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis做连接查询 .doc

    注意,iBatis还支持动态SQL,这意味着你可以在XML配置文件中使用`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`等标签来根据条件动态构建SQL语句,这对于复杂的连接查询非常有用。 总的来说,iBatis提供了强大的SQL定制能力,使得...

    IBATIS开发使用实例

    本文将围绕“IBATIS开发使用实例”这一主题,深入解析复杂SQL查询的应用,尤其是如何利用SQL进行多表关联、条件筛选以及聚合函数的使用。 ### IBATIS简介 IBATIS,现被称为MyBatis,是一种优秀的持久层框架,它...

    ibatis 多对多

    Ibatis的动态SQL功能使得在处理多对多关系时可以根据条件灵活地构造查询。例如,可以通过`if`、`choose`、`when`等标签来决定是否包含特定的关联数据。 5. **缓存机制** 考虑到性能,Ibatis提供了缓存机制。对于...

    ibatis and和or联合查询 .doc

    在SQL查询中,`AND` 和 `OR` 是用来连接两个或多个条件的关键字。`AND` 关键字用于组合条件,并且只有当所有组合的条件都被满足时,才会返回相应的行;而 `OR` 关键字则只要其中一个条件被满足就会返回相应的行。 ...

Global site tag (gtag.js) - Google Analytics