首页 > 其他分享 >ibatis 多条件查询

ibatis 多条件查询

时间:2023-04-25 10:32:58浏览次数:54  
标签:文件 java name 代码 sql 查询 ibatis 条件 Java


1、在java代码中使用字符串拼接映射文件中这样写:


Xml代码


    1. <select id="getBrno" parameterClass="java.lang.String" resultMap="bctlResult">
    2.     select brno,brname from bctl where $sql$       
    3.  </select>


    然后再java文件中拼写出SQL的条件语句: 

     


    Java代码


    1. String sql= " brno like"+ b +"and pigday" = p;// b和p都是变量。


    再在方法中调用传递进去:

     


    Java代码


    1. brList = sqlMap.queryForList("CR.getBrno", sql);


    这是一种方法,很明显这种方法有一种弊端,就是sql语句需要写在java源文件中。如果需要更改查询条件,就不得不修改java文件,再重新编译。这与ibatis的本意有些违背。(这个容易被注入,不好吧^-^)

     

    2,直接在映射文件中配置参数
    映射文件这样写:

     


    Xml代码


    1. <!-- 多条件查询-->
    2.  <parameterMap   id="myParam"   class="java.util.HashMap">
    3.    <parameter   property="id"/>
    4.    <parameter   property="name"/>
    5.  </parameterMap>          
    6.  <select   id="multConQuery" parameterMap="myParam" resultClass="Department">
    7. id = ? and name
    8.  </select>

    java文件中这样调用:

     


    Java代码


    1. public Department queryDepartmentByIdAndName(int
    2. {      
    3. new
    4. try
    5.     {      
    6.         sqlMapClient.startTransaction();      
    7. new
    8. "id",id);       
    9. "name",name);       
    10. "multConQuery",hmParam,dept);       
    11.         sqlMapClient.commitTransaction();      
    12.     }      
    13. catch(Exception e)       
    14.     {      
    15.         e.printStackTrace();      
    16.     }      
    17. return
    18.  }



    标签:文件,java,name,代码,sql,查询,ibatis,条件,Java
    From: https://blog.51cto.com/u_16085616/6223554

    相关文章

    • 第一个查询接口
      第一个查询接口Rest服务最先想到的就是查询接口列表分页查询是每个玩家最常见接口。controller提供接口mappingservice提供业务实现VO提供对象数据结构统一返回值分页数据结构lombak使用fastjson添加json和lombak依赖lombok有些特殊除了依赖还需要插件具体参考:h......
    • Nordic Collegiate Programming Contest (NCPC) 2017 C 在线查询,更新
      Onehundredyearsfromnow,in2117,theInternationalCollegiateProgrammingContest(ofwhichtheNCPCisapart)hasexpandedsignificantlyanditisnowtheGalacticCollegiateProgrammingContest(GCPC).Thisyeartherearenteamsinthecontest.T......
    • 期刊会议名缩写查询-1
      投往IEEEtransactions的论文,其中的参考文献格式都是采用会议期刊的缩写。本博客特此记录如何查询期刊和会议名的缩写问题。期刊名缩写SCI论文的参考文献很多期刊名都是缩写,如下图所示。在写论文时,如何查询SCI期刊的缩写呢?下面介绍两种方法,一种是使用WebofScience网站查询,比......
    • ABAP查询界面日期范围未选择值,则查询前一天的数据
      包含TOP的查询条件:SELECT-OPTIONS:p_bldatFORekbe-bldat."凭证日期包含FORM的代码:RANGES:date_rangeFORekbe-bldat.IFp_bldat[]ISINITIAL.date_range-sign='I'.date_range-option='BT'.date_range-low=sy-datum-1.da......
    • pgsql根据日期查询错误:timestamp without time zone >= character varying
      最近工作中使用到pgsql数据库,使用日期传参查询时提示Causedby:org.postgresql.util.PSQLException:错误:操作符不存在:date>=charactervarying错误主要原因就是pgsql使用string类型参数去查询的话不会自动进行转换,而mysql并没有这种问题。解决方式也很简单,我们将字符串类......
    • 数据库查询权限信息代码实现
      ​我们只需要根据用户id去查询到其所对应的权限信息即可​所以我们可以先定义个mapper,其中提供一个方法可以根据userid查询权限信息创建对应的mapper文件,定义对应的sql语句 在application.yml中配置mapperXML文件的位置 ​然后我们可以在UserDetailsServiceImpl中去调......
    • 从数据库查询权限信息 准备工作
       RBAC权限模型(Role-BasedAccessControl)即:基于角色的权限控制。这是目前最常被开发者使用也是相对易用、通用权限模型 准备工作创建数据库表CREATETABLE`sys_menu`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`menu_name`varchar(64)NOTNULLDEFAULT'NULL'COMME......
    • SQL 跨服务器 -查询 修改
      update[Business_TasksAffirm]SETdriver_name=b.driver_name,PictureId=b.PictureId,iJsDoneState=1,iSIncluded=1,iSWages=1,UserId=b.UserId,UserName=b.UserName,AuditTime=b.AuditTime,cExDescription=b.cExDescriptionfrom[表]aleftjoinopenrowset('SQ......
    • mysql查询上个季度数据
      mysql查询上季度数据个人博客地址:https://note.raokun.top拥抱ChatGPT,国内访问网站:https://www.playchat.top最近接口需要统计上个季度的数据统计,补一下sql季度函数:QUARTER(date)函数返回给定日期值(1到4之间的数字)的一年中的季度语法:QUARTER(date)参数描述......
    • Nginx命令(查询nginx配置文件)
      Nginx命令(查询nginx配置文件)个人博客地址:https://note.raokun.top拥抱ChatGPT,国内访问网站:https://www.playchat.topNginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发......