Java程序中使用的sql语句一直不明白是什么作用,在网上搜索了一些资料,看到一篇博客,稍微解答了具体每条代码的作用,因为作者加了详细的注解,可以作为参考
--------------------- 本文来自 阿顾1234 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u010452388/article/details/80548970
目的:通过一条查询语句能够实现用户所有的条件进行查询
代码
/**
* 通过用户输入的参数,到数据库中查询到商品信息,并以集合的方式返回
* @param pname 传入的查询参数
* @param pdesc 传入的查询参数
* @return 返回一个集合,其集合由实体Product组成
* @throws SQLException
*/
public List
//创建dbutils下的QueryRunnner
QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource());
//☆☆☆注意where 1=1后面一定要留空格,否则和后面进行字符串拼接后,到数据库查询会出现错误
String sql = "select * from product where 1=1 ";
//创建一个集合用来存储查询的参数,因为我们不清楚客户到底输入几个参数,所以用集合来存放
List
//如果用户输入的pname不为空,那需要进行字符串拼接
sql += "and pname like ? ";
//将用户输入的参数添加到集合
list.add("%" + pname + "%");
}
if (pdesc != "") {
sql += "and pdesc like ? "; list.add("%" + pdesc + "%");
}
//最后将集合转化成数组
Object[] params = list.toArray();
//调用runner对象的query查询方法,并将集合返回
return runner.query(sql, new BeanListHandler
注意点:
这里作者说一定要加上空格是对的,之前敲的代码都是在sql语句最前面加上空格,是一个道理
手机扫一扫
移动阅读更方便
你可能感兴趣的文章