sql查询语句中like问号传参,占位符对不上

原创 2015年07月09日 14:43:44
StringBuilder querySQL = new StringBuilder(
                "select S.IL_ID,S.DI_ID,Y.DI_MC,S.IL_SJ,");
        querySQL.append("S.IL_WJM,S.IL_JLS,S.IL_CGSBBJ,S.IL_SBYY  FROM S_IMPORT_LOG S LEFT JOIN Y_DATA_INFO Y ON S.DI_ID=Y.DI_ID");
        querySQL.append(" WHERE 1=1");
        if(vo!=null){
            if(vo.getJksj()!=null){
                querySQL.append(" AND S.DI_ID=?");
                queryParams.add(vo.getJksj());
            }
            if(vo.getWjm()!=null&&"".equals(vo.getWjm())){
                querySQL.append(" AND S.IL_WJM LIKE \'?");
                queryParams.add("%" + vo.getWjm().trim() + "%");
                querySQL.append("\'");

            }
错误写法:把单引号分开追加。会报错,提示占位符对不上
正确写法:       
                 querySQL.append(" AND S.IL_WJM LIKE ?");
                 queryParams.add("\'%" + vo.getWjm().trim() + "%\'");

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用占位符进行模糊查询

使用占位符进行模糊查询时,一定要将“%”放在参数值里面,不能放在sql里面。 例如: 1.SELECT * FROM User WHERE Name like '%?%'" ps.setStri...

like模糊查询的占位符使用

Incorrect number of bindings supplied. The current statement uses 0, and there are 1 supplied. like查...

Hibernate like 使用

String hql = "from User as user where user.name like ";     Query query=querysession.createQuery(hql...
  • jsship
  • jsship
  • 2011年01月17日 20:10
  • 11673

为啥jdbc问号占位符可以防注入

先看下面用占位符来查询的一句话 String sql = "select * from administrator where adminname=?"; psm = con.prepareState...

Sql语句中关于如何在LIKE'%?%'中给?赋值

ct = new ConnDB().getConn(); ps = ct.prepareStatement("select * from news where keyWords like'%?%...

sql中参数 问号占位符 和 命名参数

sql中参数 问号占位符 和 命名参数Q: 在写的过程有时候会疑惑,尤其是hibernate的时候有疑惑,什么时候能用named parameter什么时候不能用?A: 从原本来说,jdbc不支持命...

Java中使用PrepateStatement并且like模糊查询

在使用PreparedStatement进行模糊查询的时候废了一番周折,以前一直都没有注意这个问题。一般情况下我们进行精确查询,sql语句类似:select * from table where na...
  • cilen
  • cilen
  • 2011年09月29日 10:16
  • 8438

sql查询语句中用like中用参数化查询

今天终于学会怎么在like中用参数化查询啦。。哈哈。。再也不用担心sql注入了。。。...
  • niunan
  • niunan
  • 2016年07月23日 18:47
  • 3258

SQL中LIKE '%' 与 PreparedStatement的占位符 ? 使用方法

LIKE name='%xxx%'是SQL提供的一种模糊查询方式,用%号代替任意字符。 PreparedStatement是Java提供的一种包含预处理的数据库连接查询方式,这种方式很方便,可以通过...

sql语句中问号?的使用

若要创建每次使用不同值的查询,可以在查询中使用参数。参数是在运行查询时所提供值的占位符。带参数的 SQL 语句可能如下所示,其中“?”表示代表作者 ID 的参数: SELECT title_id...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql查询语句中like问号传参,占位符对不上
举报原因:
原因补充:

(最多只允许输入30个字)