qq_33146831 2015-12-16 03:13 采纳率: 75%
浏览 1940
已采纳

如何在sql语句中用java判断

String SQL ="select *from emp where" +"empid='"+empid+"'".............
我想判断empid有没有值。如果有就拼在SQL里如果没有就不拼在sql里

  • 写回答

4条回答 默认 最新

  • java仔 2015-12-16 03:45
    关注

    如果你只是想要根据判定来拼SQL的话,可以使用三目运算符。例如你的empid是String类型,则可将你的语句改成:String SQL ="select *from emp where 1=1 " + StringUtils.isNotBlank(empid)?"and empid="+empid: " "+............; 虽然你这样拼SQL可以达成目的,但是这种方式并不安全,容易让那些有心的人抓住漏洞,可能会通过某些渠道(在你的参数值上面增加删表或修改值等SQL语句)植入一些SQL,这样安全就会成问题。如果你用的是Hibernate的话,还是用?来替代参数值比较好,Hibernate保证了一个?对应的一定是一个参数值,安全性会更高。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题