模糊查询

201 阅读1分钟

问题记录:在oracle里实现模糊查询

数据库:oracle

实现模糊查询,就是把查询条件拼接上%,构成模糊查询的条件%name%

拼接%有两种方式:

  • 在事务层的impl文件中,直接把查询的条件封装一下,拼上个%

    例如:在实体 dto 中存在 name 属性,通过 name 进行模糊查询

    String n = dto.getName();
    String name = '%' + n +'%';
    dto.setName(name);
    

    xml文件中sql语句

    select * from student where name like #{name}
    
  • 在xml文件中通过 concat() 函数进行拼接

    select * from student where name like concat(concat('%',#{name}),'%')
    

    注意

    在oracle中,concat() 只能拼接两个,如果要拼接三个字符串,要包含起来拼接

    在mysql中,concat()可以拼接多个,直接 concat('%', #{name}, '%') 即可

\