Ibatis 多表多条件查询

现在有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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值