为什么拼接sql前面必须加空格

qq_35659985 2017-04-02 01:04:14
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
String sql = "select * from product where 1=1";

//存放参数
ArrayList<String> params = new ArrayList<>();
//判断参数是否为空 拼接sql
if(name!=null && name.trim().length()>0){
sql+=(" and pname like ?");
params.add("%"+name+"%");
}
if(keyword!= null && keyword.trim().length()>0){
sql+=(" and pdesc like ?");
params.add("%"+keyword+"%");
}
return qr.query(sql, new BeanListHandler<>(Product.class), params.toArray());

红色的and之前为什么必须要加空格 如果去掉空格就会出现异常这是为什么。。。。。。。
...全文
421 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦想南方 2017-04-02
  • 打赏
  • 举报
回复
就好比人写文章不用标点符号很难看懂一样,不用空格不就是一段真正的字符串了嘛。
ZeWe 2017-04-02
  • 打赏
  • 举报
回复
不加空格的话,你连上不是where 1=1and.... 这肯定报sql语句错误
qq_35625208 2017-04-02
  • 打赏
  • 举报
回复
引用 1 楼 qq_35625208的回复:
sql无语能无衔接的写吗?空格肯定是要的
。。 是sql语句不是无语
qq_35625208 2017-04-02
  • 打赏
  • 举报
回复
sql无语能无衔接的写吗?空格肯定是要的

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧