zoukankan      html  css  js  c++  java
  • mybatis 模糊查询 like的三种方式

    第一种

    public void selectBykeyWord(String keyword) {
      String id = "%" + keyword + "%";
      String roleType = "%" + keyword + "%";
      String roleName = "%" + keyword + "%";
      userDao.selectBykeyWord(id,roleName,roleType);
    }
    在Dao层指定各个参数的别名

    List<RoleEntity> selectBykeyWord(@Param("id") String id,@Param("roleName") String roleName,@Param("roleType") String roleType);

    mapper.xml中

    <select id="selectBykeyWord" parameterType="string" resultType="com.why.mybatis.entity.RoleEntity">
      SELECT
        *
      FROM
        t_role
      WHERE
        role_name LIKE #{roleName}
        OR id LIKE #{id}
        OR role_type LIKE #{roleType}
    </select>


    执行出来的SQL语句:

    SELECT * FROM t_role WHERE role_name LIKE '%why%' OR id LIKE '%why%' OR role_type LIKE '%why%';

    第二种

    CONCAT()函数

    MySQL的 CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一

    CONCAT(str1,str2,...)

    List<RoleEntity> selectBykeyWord(@Param("keyword") String keyword);

    <select id="selectBykeyWord" parameterType="string" resultType="com.why.mybatis.entity.RoleEntity">
      SELECT
        *
      FROM
        t_role
      WHERE
        role_name LIKE CONCAT('%',#{keyword},'%')
      OR
        id LIKE CONCAT('%',#{keyword},'%')
      OR
        role_type LIKE CONCAT('%',#{keyword},'%')
    </select>

    第三种

    Mybatis的bind

    <!-- 按条件查询用户 -->
    <select id="searchData" resultMap="BaseResultMap">
      <bind name="pattern" value="searchData + '%'" />
      select
        <include refid="Base_Column_List" />
      from user
        where (name like #{pattern,jdbcType=VARCHAR} or login_name like #{pattern,jdbcType=VARCHAR}) and login_name != #{loginName,jdbcType=VARCHAR}
    </select>

  • 相关阅读:
    聊聊Senior .net 面试,作为面试官你称职吗
    使用Microsoft BizTalk Adapter for mySAP Business Suite需要注意的一些限制点
    eos账号管理
    如何安装以太坊钱包Parity
    Infoq主办 Baidu Web 开发者大会记录
    http请求的详细过程转载
    php 下载保存文件保存到本地
    php section
    用javascript拼接html代码标签
    php使用sql数据库 取得字段问题
  • 原文地址:https://www.cnblogs.com/Samuel-Leung/p/10695301.html
Copyright © 2011-2022 走看看