java mysql prepareStatement模糊查询like使用注意

时间:2015-03-23 14:49:01   收藏:0   阅读:4699

今天在使用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();

这样就能获取数据了。

 

原文:http://www.cnblogs.com/jecyhw/p/4359528.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!