java 拼接查询sql语句

各位大神好,我做了一个小的桌面程序,现在想提供一个查询功能,有几个文本框,如何根据用户输入的内容动态查询数据库?如文本框1输入内容是按日期查询,文本框2是用户名,等等,不一定所有的文本框都输入内容

4个回答

SQL 语句中先拼接一个 where 1=1 ,然后再将页面的输入条件,如果有就继续加 and cond='value' 没有就不加。

判断各个输入是否有值,有值就拼接,没有就不拼接

需要为空判断,如mybatis(.xml)中

SELECT *
FROM table
where 1=1
<if test="name!=null and name != ''">
    and name LIKE CONCAT('%',#{name},'%')
</if>
<if test=“start_date!=null and start_date !=''">
    and time = #{start_date,jdbcType=TIMESTAMP}
</if>

有几个查询条件就加几个if,模糊查询用like,全文匹配用=

2楼正解,mybatis在xml文件中使用处理

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问