zoukankan      html  css  js  c++  java
  • java mysql prepareStatement模糊查询like使用注意

    今天在使用mysql 的like语句是,发现prepareStatement的like语句和一般的=写法有一样。

    当要使用prepareStatement的like查询时,按照一般写法,都会写成:

    String sql = "select * from tablename like '%?%'";

    String sqlParasValue = "2015-03-23";

    pStmt =conn.prepareStatement(sql);

    pStmt.setString(1, sqlParasValue);

    pStmt.execute();

    结果发现获取不了数据,反而会出现sql参数异常。

    在网上百度了下,好多人也遇到了这个问题,原来写法不太一样。

    应该这么写:

    String sql = "select * from tablename like ?";

    String sqlParasValue = "%" + "2015-03-23" + "%";

    pStmt =conn.prepareStatement(sql);

    pStmt.setString(1, sqlParasValue);//会自动添加单引号

    pStmt.execute();

    这样就能获取数据了。

  • 相关阅读:
    linux shell执行远程计算机上的命令或者脚本(ssh)
    人到中年,愿我们的人生无悔
    资料
    新博客
    移植ok6410
    pm剩余要看的内容
    kernel boot
    regulator
    pm
    bochs安装一系列问题
  • 原文地址:https://www.cnblogs.com/jecyhw/p/4359528.html
Copyright © 2011-2022 走看看