![](/img/trans.png)
[英]How to Pass Query String value from servlet to jsp(text box value) in java
[英]How to pass a string value of java to sql query
我试图在Java Netbeans中创建这个SQL查询:
SELECT * FROM DBNAME WHERE NAME LIKE '%SOMETHING%'
我正在使用这样的Prepared Statement:
PreparedStatement ps=con.prepareStatement("SELECT * FROM demo WHERE NAME LIKE ? ");
ps.setString(1, "%"+something+"%");
...
问题是“setString”根本不起作用。 我发现“'”的值实际上是“\\”,因此查询变为
SELECT * FROM DBNAME WHERE NAME LIKE \'%SOMETHING%\'
尝试这个:
String sql = "select * from tablename like ?";
String sqlParasValue = "%" + "2015-03-23" + "%";
pStmt =conn.prepareStatement(sql);
pStmt.setString(1, sqlParasValue);//Automatically add single quotes
pStmt.execute();
我在我的代码上尝试这个,这是工作。 我使用Spring启动+ mybatis + postgresql
SQL表和一些数据:
name h w f
xi 182 53 li
1xi 181 52 [NULL]
li 180 51 xh
zs 165 50 li
xh 190 52 [NULL]
sql查询:
select name from stu where name like '%x%'
sql查询结果:
name h w f
xi 182 53 li
1xi 181 52 [NULL]
xh 190 52 [NULL]
java代码
@Select("select name from stu where name like #{name}")
List<String> test(@Param("name") String name);
List<String> s = serviceImpl.test("%x%");
for(String ss : s){
System.out.println(ss);
}
安慰 :
2017-04-06 14:02:47.607 INFO 7932 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-04-06 14:02:47.619 INFO 7932 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2017-04-06 14:02:47.759 INFO 7932 --- [ main] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Driver does not support get/set network timeout for connections. (这个 org.postgresql.jdbc.PgConnection.getNetworkTimeout() 方法尚未被实作。)
2017-04-06 14:02:47.777 INFO 7932 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
xi
1xi
xh
2017-04-06 14:02:47.848 INFO 7932 --- [ main] com.ium.um.Application : Started Application in 5.911 seconds (JVM running for 6.416)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.