java - 如何在准备好的语句中实现 like 运算符?

标签 java sql jdbc oracle11g prepared-statement

<分区>

ps=con.prepareStatement("select * from REGISTER inner join ORGAN on REGISTER.PATIENTID=ORGAN.PATIENTID where ORGAN.ORGAN LIKE ?");          
ps.setString(1,"'%"+o.getOrgan()+"%'");

我在 SQL Developer 中执行了查询,它工作正常,但在 DAO 类中它没有返回任何结果集。

最佳答案

使用

ps.setString(1, "%" + o.getOrgan() + "%");

请注意没有引号。

关于java - 如何在准备好的语句中实现 like 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192410/

相关文章:

sql - 将 ORM 与存储过程一起使用,矛盾吗?

SQL:为每个不同的值选择三行

java - ResultSetExtractor 中 getInt 的性能问题

java - 传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议(protocol)流不正确。参数 1 ("") : Data type 0x38 is unknown

mysql - JOIN/UNION SELECT 具有不同列数的两个表中的所有行

java - 尽管同时实现了 hashCode() 和 equals(),但 HashSet 添加了重复条目

java - 在 Graphite 中显示 Java Metrics 结果

java - 从请求参数创建动态查询的简洁方法

java - 在一行中插入多个值

java - 如何关闭 REST 服务的流?