zoukankan      html  css  js  c++  java
  • Mybatis各种模糊查询(转)

    模糊查询:

    工作中用到,写三种用法吧,第四种为大小写匹配查询

    1. sql中字符串拼接

       SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');

    2. 使用 ${...} 代替 #{...}

       SELECT * FROM tableName WHERE name LIKE '%${text}%'; 

    3. 程序中拼接

       Java

       // or String searchText = "%" + text + "%";

       String searchText = new StringBuilder("%").append(text).append("%").toString();

       parameterMap.put("text", searchText);

       SqlMap.xml

       SELECT * FROM tableName WHERE name LIKE #{text};

    4. 大小写匹配查询

    [sql] view plain copy
     
    1. SELECT *  FROM TABLENAME  WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'  
    2.  --或者是  
    3. SELECT *   FROM TABLENAME  WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'  


     

    异常:

    java.lang.IllegalArgumentException: modify is ambiguous in Mapped Statements collection (try using the full name including the namespace, or rename one of the entries)
     at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:466)
     at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:349)
     at org.apache.ibatis.binding.MapperMethod.setupCommandType(MapperMethod.java:137)
     at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:46)
     at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:34)
     at $Proxy10.modify(Unknown Source)

    抛出这个异常的原因可能是因为mapper.xml配置文件中<mapper>的namespace属性配置错误造成的,没有根据命名空间的值(全称类名)找到相应映射接口。

    如:<mapper namespace="com.xxx.xxx.mapper.TestMapper" >

    本文转自http://blog.csdn.net/luqin1988/article/details/7865643

  • 相关阅读:
    luogu P3238 [HNOI2014]道路堵塞
    luogu P3235 [HNOI2014]江南乐
    luogu P3237 [HNOI2014]米特运输
    luogu P3233 [HNOI2014]世界树
    luogu P3234 [HNOI2014]抄卡组
    luogu P3250 [HNOI2016]网络
    luogu P3201 [HNOI2009]梦幻布丁
    luogu P4148 简单题
    luogu P3767 膜法
    luogu P4314 CPU监控
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7565156.html
Copyright © 2011-2022 走看看