zoukankan      html  css  js  c++  java
  • MyBatis 模糊查询

    问题描述

    编写SQL,实现根据业务名称,模糊查询业务信息。

    解决方案

    方案1:SQL里实现

    <!-- 通过 projectName 模糊查询数据 -->
        <select id="findByProjectName" parameterType="String" resultMap="BaseResultMap">
            select
            <include refid="Base_Column_List" />
            from project
            where
            <!-- project_name like '%'||#{projectName}||'%' 查询的是全部信息-->
            <!-- project_name like '%#{projectName}%' 报错 -->
            <!-- project_name like '%"#{projectName}"%' 报错-->
            <!-- project_name like '%'||${projectName}||'%' -->
            <!-- project_name like '%${projectName}%' -->
            project_name like CONCAT(CONCAT('%',#{projectName}),'%')
        </select>

    【说明】已测试验证,除了下面的这种方式,可以实现模糊查询

    project_name like CONCAT(CONCAT('%',#{projectName}),'%')

    其余被注释掉的几种写法,均不可以实现!!!

    方案2:Java代码里预处理

    如果在Java代码里事先处理:

    List<ProjectEntity> entityList = projectBiz.findByProjectName("%" + projectName + "%");

    SQL可以使用下面的方式:

    <!-- 通过 projectName 模糊查询数据 -->
        <select id="findByProjectName" parameterType="String" resultMap="BaseResultMap">
            select
            <include refid="Base_Column_List" />
            from project
            where
            project_name like #{projectName}
        </select>
  • 相关阅读:
    Android -- ConditionVariable
    Android -- startActivityForResult和setResult
    StringTokenizer
    Android -- java代码设置margin
    Android -- DisplayMetrics
    Android -- TypedArray
    Android -- 屏幕亮度
    Java assert
    Android -- com.android.providers.media,external.db
    Inno Setup入门(十)——操作注册表
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/10882893.html
Copyright © 2011-2022 走看看