• 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();

    这样就能获取数据了。

  • 相关阅读:
    CSS发布时间
    1CSS简介
    CSS 样式的优先级(重要,一定要理解)
    css为什么叫层叠样式表
    Django学习手册
    Django学习手册
    Django学习手册
    Django学习手册
    Django学习手册
    Django学习手册
  • 原文地址:https://www.cnblogs.com/jecyhw/p/4359528.html
Copyright © 2020-2023  润新知