JAVA方法,SQL语句模糊查询?

我写了个方法publicListsearchArticle(inttype,Stringtitle,Stringwriter){Listlist=newArrayList... 我写了个方法public List searchArticle(int type,String title, String writer) {
List list = new ArrayList();
String sql="select * from ARITCLE where type="+type+" and title like "++" and writer like "+writer+"";..................}方法接收三个参数,我想请问那条SQL语句应该怎么写?title和writer都为模糊查询!
展开
 我来答
匿名用户
推荐于2017-05-21
展开全部
这问题很眼熟
也可以这样:
String sql="select * from ARITCLE where type="+type+" and title like "++" and writer like "+writer+"";
改成
String sql="select * from ARITCLE where type="+type+" and title like '%"++"%' and writer like '%"+writer+"'%";
如果writer 这些参数是用户输入而且不经过处理的话
拼接字符串生成查询语句,会使SQL注入攻击变得相当容易
匿名用户
2013-03-29
展开全部
String tt="%"+title+"%"; String ww="%"+write+"%"; String sql="select * from ARITCLE where type="+type+" and title like ' "+tt+" 'and writer like ' "+ww+" ' ";如此而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yllrainbow
2013-03-28 · 超过15用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:23.6万
展开全部
比如type传入2个值,writer传入一个值,写的时候同一个字段的先用or,用括号括起来,然后和其他条件用and。比如:select * from ARITCLE where (type like '%传入的type1%' or type like '%传入的type2%') and writer like '%传入的writer%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f170b97
2013-03-28
知道答主
回答量:28
采纳率:0%
帮助的人:17.6万
展开全部
String sql="select * from ARITCLE where type="+type+" and title like \'\%"+title+"\%\' and writer like \'\%"+writer+"\%\'"
楼上的思路是对的,但是Java中输出符号要用转义符 \ 的,应为在Java中 ' % 用自己的意思,所以要用 \' \% 来表示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-29
展开全部
="select * from ARITCLE where type=' "+type+" 'and title like ' "++" 'and writer like' "+writer+" ' ";还有你好像没有加%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式