gpt4 book ai didi

java - 从数据库输入数据并进行处理

转载 作者:行者123 更新时间:2023-12-01 12:53:44 25 4
gpt4 key购买 nike

如标题所示,我有一个代码可以对文本挖掘进行标记、停止和词干提取。但是该代码只能处理我在“字符串结果”行中给出的单词。如果我想要,我该怎么做输入我在数据库中的数据?然后结果保存在其他数据库中..

class TokenizeStopStem
{
private Set<String> stop_word_set;

public TokenizeStopStem(){

BufferedReader fileStream = null;
try {
stop_word_set = new HashSet<String>();
String path = "E:\\stopwords.txt";
File file = new File(path);
fileStream = new BufferedReader(new FileReader(file));
String kata;
while ( ( kata = fileStream.readLine() ) != null)
stop_word_set.add(kata);
} catch (Exception ex) {
Logger.getLogger(TokenizeStopStem.class.getName()).log(Level.SEVERE, null, ex);
}

String result = tokenizeStopStem("Coba kalo yang ini mau bermain gimana jadinya kegantengan");
System.out.println(result);

}

public static void main(String[] args) {
new TokenizeStopStem();

}


private String tokenizeStopStem(String input) {

TokenStream tokenStream = new StandardTokenizer(
Version.LUCENE_36, new StringReader(input));
tokenStream = new StopFilter(Version.LUCENE_36, tokenStream, stop_word_set);
tokenStream = new IndonesianStemFilter(tokenStream);
StringBuilder sb = new StringBuilder();
OffsetAttribute offsetAttribute = tokenStream.addAttribute(OffsetAttribute.class);
CharTermAttribute charTermAttr = tokenStream.getAttribute(CharTermAttribute.class);
try{
while (tokenStream.incrementToken()) {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(charTermAttr.toString());
}
}
catch (IOException e){
System.out.println(e.getMessage());
}
return sb.toString();
}

最佳答案

您应该将“Coba kalo”字符串替换为返回名为 loadRawData() 的字符串的方法。 loadRawData 可能看起来像这样:

private String loadRawData(String id) throws SQLException
{
Connection con = getSourceConnection();
Statement stmt = null;
String query = "select data from table where id='" + id + "'";

String rawData = null;
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
rawData = rs.getString("data");
}
} finally {
if (stmt != null) { stmt.close(); }
}
return rawData;
}

它调用 getSourceConnection() 创建一个 Connection 实例,该实例指向您将在其中检索数据的数据库。 See here for how to establish a connection 。传入的“id”大概是唯一标识您的记录的一种方式,实际上,如果找到,返回的数据将是在“data”列中找到的数据。如果没有错误,但没有找到记录,它将返回 null,因此您应该做好这种可能性的准备。

您应该用 try ... catch 包围该调用,这样您就可以在出现意外问题时处理它们。

如果一切顺利,并且您得到了结果,您应该将该结果传递给名为 saveTokenData 并传递字符串的方法。不幸的是,我不知道您希望如何保存此信息,因此无法输入详细信息,但是您会看到该代码与上面的代码非常相似,但您会调用 getDestinationConnection() 而不是 getSourceConnection(),并且您将使用更新查询调用 executeUpdate,而不是 executeQuery

这可以解决问题,但是,您应该考虑使用线程来执行此操作。这将大大提高该程序的效率,但也会使其变得相当复杂。我的建议是首先让它运行,然后您可以尝试使用线程。

希望有帮助!

Reference for retrieving data from a database using JDBC. .

关于java - 从数据库输入数据并进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24032887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com