任意字段的模糊查询怎么设置参数?

1.请问field1和field2这两个字段应该怎么设置?

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mustang.mapper.SpecilMapper">

    <resultMap id="myMap" type="com.mustang.po.Specil">
        <id property="sid" column="spilinfoid"/>
        <result property="did" column="depinfoid"/>
        <result property="sCode" column="spilinfocode"/>
        <result property="sName" column="spilinfoname"/>
        <result property="sAim" column="spilinfoaim"/>
        <result property="sProdire" column="spilinfoprodire"/>
    </resultMap>


    <select id="queryLikeAndPageAndSort" parameterType="java.util.Map" resultMap="myMap" >
        SELECT * from specilinfo
        where spilinfoname like concat('%',#{value},'%')
        ORDER BY spilinfoid DESC
        limit #{start},#{pageSize}
    </select>
</mapper>

报错:

图片说明

将field1和field修改为具体的字段名后

<select id="queryLikeAndPageAndSort" parameterType="java.util.Map" resultMap="myMap" >
        SELECT * from specilinfo
        where spilinfoname like concat('%',#{value},'%')
        ORDER BY spilinfoid DESC
        limit #{start},#{pageSize}
    </select>

结果如下:

图片说明

测试类:

图片说明


慕田峪4524236
浏览 877回答 2
2回答

繁花不似锦

这个简单 你把#号 换成$符号就可以了 但是要小心sql注入,就你第一张黑色的图中的#号 代码是对的 就是符号不对

LEATH

两个百分号的话改成这样试试concat(concat('%',#{value}),'%'))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java