zoukankan      html  css  js  c++  java
  • 模糊查询的sql语句

    Java程序中使用的sql语句一直不明白是什么作用,在网上搜索了一些资料,看到一篇博客,稍微解答了具体每条代码的作用,因为作者加了详细的注解,可以作为参考

    《JavaWeb dao层条件查询(模糊查询)的sql语句》

     --------------------- 本文来自 阿顾1234 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u010452388/article/details/80548970

    目的:通过一条查询语句能够实现用户所有的条件进行查询

    代码

    /**
         * 通过用户输入的参数,到数据库中查询到商品信息,并以集合的方式返回
         * @param pname 传入的查询参数
         * @param pdesc 传入的查询参数
         * @return 返回一个集合,其集合由实体Product组成
         * @throws SQLException
         */ 
    
    public List<Product> findProByIndis(String pname, String pdesc) throws SQLException {
     //创建dbutils下的QueryRunnner 
    QueryRunner runner = new QueryRunner(C3P0Utils.getDataSource()); 
    
    //☆☆☆注意where 1=1后面一定要留空格,否则和后面进行字符串拼接后,到数据库查询会出现错误 
    String sql = "select * from product where 1=1 "; 
    
    //创建一个集合用来存储查询的参数,因为我们不清楚客户到底输入几个参数,所以用集合来存放
     List<String> list = new ArrayList<String>(); if (pname != "") { 
    
    //如果用户输入的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<Product>(Product.class), params);

    注意点:

    这里作者说一定要加上空格是对的,之前敲的代码都是在sql语句最前面加上空格,是一个道理

  • 相关阅读:
    ZOJ 3769 Diablo III(分组背包)
    HDU 1712 ACboy needs your help(分组背包入门题)
    POJ 1170 Shopping Offers(完全背包+哈希)
    HDU 4489 The King’s Ups and Downs
    [转] LINUX 三种网络连接模式
    [转] 软件架构
    [转] 支付宝系统架构内部剖析
    [转] pip镜像升级报警 -trust-host问题解决方案
    [转] Linux 查找文件内容
    [转] CentOS系统目录学习
  • 原文地址:https://www.cnblogs.com/songsongblue/p/9689634.html
Copyright © 2011-2022 走看看