在我的java应用程序中,我想从我的数据库中检索所有与给定句子中的任何单词映射的句子。以下两种方法对我来说都不起作用。如何通过sql“Like”运算符找到合适的句子?
/*...1st approach...*/
String sentence1 ="Java is very famous programming language";
String selectSQL = "SELECT Data_Sentences FROM table1 Where Data_Sentences LIKE '%"+sentence1+"%'";
PreparedStatement ps=conn.prepareStatement(selectSQL);
rs = pstmtFGram.executeQuery();
这不是输出任何句子,并没有给出任何sql错误。
/*...2nd approach...*/
String selectSQL = "SELECT Data_Sentences FROM table1 Where Data_Sentences LIKE '%Java%'||%'is'%||%'very'%||%'famous'%||%'programming'%||%'language'%";
在上面的方法中,检索句子,该句子只与句子的第一个('%Java%')字相映射。即使有一个句子的单词,我怎样才能得到所有的句子地图?
非常多。这工作正常。但是我有另一个问题,我是如何在“where”部分之后改变它的? Bcz我不知道“sentence1”中单词的长度,这个大小会动态变化。我如何改进代码? – Maduri 2014-08-29 06:05:13
尝试使用http://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html – 2014-08-29 06:07:17