zoukankan      html  css  js  c++  java
  • Mybatis查询sql传入一个字符串传参数,报There is no getter for property named 'ids' in 'class java.lang.String'。

    Mybatis查询sql传入一个字符串传参数,报There is no getter for property named 'ids' in 'class java.lang.String'。

    解决方法:

    1.在接口参数里加上mybatis中的@param注解

    @MyBatisDao
    public interface OfficeDao extends TreeDao<Office> {
    List<Office> findCompanyNameList(@Param("name")String name);
    }
    <select id="findCompanyNameList" parameterType="java.lang.String" resultType="com.pds.modules.sys.entity.Office">
        SELECT id,name FROM sys_office  where o.del_flag = '1'
           <if test="name!= null and name!= ''">
               AND name LIKE concat('%',#{name},'%')
           </if>
    </select>

    2.在xml的if里用"_parameter" 代表参数,

    <select id="findCompanyNameList" parameterType="java.lang.String" resultType="com.pds.modules.sys.entity.Office">
        SELECT id,name FROM sys_office  where o.del_flag = '1'
           <if test="_parameter!= null and _parameter!= ''">
               AND name LIKE concat('%',#{name},'%')
           </if>
    </select>

      或无论参数名是啥,都要改成"_parameter"

     <select id="findByName" parameterType="string" resultType="com.domain.entity.FactoryEntity">
         SELECT * FROM T_FACTORY WHERE F_NAME LIKE "%${_parameter}%"
        </select>

    两种方法区别

    可以看出,_parameter不能区分多个参数,而@param能。所以@param能传多个这样的参数

    3.将String参数放入Map集合中

    Map map=new HashMap();
            map.put("condition",condition);
    
            List list=bookMapper.bookList(map);
    <select id="bookList" parameterType="map" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List" />
        from book
        <if test="condition!= null">
          where bname like '%${condition}%' or author like '%${condition}%'
        </if>
      </select>

    参照:

    https://blog.csdn.net/zcl_love_wx/article/details/78601481

    https://www.cnblogs.com/xmzJava/p/7245574.html

  • 相关阅读:
    什么是前后端分离?
    Ubuntu修改时区和更新时间
    待学
    Pycharm默认输入状态是insert状态,选中文字无法直接输入替换或删除
    使用jsonify返回json数据
    Linux
    Linux
    Linux
    JavaScript
    JavaScript
  • 原文地址:https://www.cnblogs.com/lvhouhou/p/13278862.html
Copyright © 2011-2022 走看看