私はIDのリストを持つテキストファイルを持っています。そのIDを読み込み、DBで関連IDを検索し、特定の列を新しい値で更新する必要があります。テキストファイルを読み込んでデータベースに更新するJavaコード
答えて
私はあなたに何をすべきかの簡単なデモを提供しようとしました。
ここでは、コードです:
public class Test {
private static final String FILENAME = "D:/Idfile.txt"; // Your Id file
private SessionFactory sessionFactory;
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("resource/spring/applicationContext.xml");
Test test = new Test();
test.readFile();
}
private void readFile() {
BufferedReader br = null;
FileReader fr = null;
try {
fr = new FileReader(FILENAME); // You read the file here
br = new BufferedReader(fr);
String sCurrentLine;
br = new BufferedReader(new FileReader(FILENAME));
while ((sCurrentLine = br.readLine()) != null) {
if (!checkIfIdExists(sCurrentLine)) {
System.out.println("Some problem"); // Handle the exception
// scenario here.
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
if (fr != null)
fr.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
private boolean checkIfIdExists(String sCurrentLine) {
Session session = null;
Transaction tx = null;
try {
session = sessionFactory.openSession();
session.setFlushMode(FlushMode.AUTO);
tx = session.beginTransaction();
String sql = "SELECT text_file_id, primary_key from demo_table where text_file_id = :text_file_id "; // Check if the ID is present
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(LookUpDemoTable.class);
query.setParameter("text_file_id", sCurrentLine);
List results = query.list();
if (results.size() != 0) {
for (Iterator<LookUpDemoTable> it = results.iterator(); it.hasNext();) {
LookUpDemoTable lookUpDemoTableToUpdate = new LookUpDemoTable();
LookUpDemoTable lookUpDemoTable = it.next();
lookUpDemoTableToUpdate.setPrimaryKey(lookUpDemoTable.getPrimaryKey());
session.saveOrUpdate(lookUpDemoTableToUpdate); // Incase the ID is present
tx.commit();
}
} else {
LookUpDemoTable lookUpDemoTableToInsert = new LookUpDemoTable();
lookUpDemoTableToInsert.setPrimaryKey(new Long(System.currentTimeMillis()).toString());
lookUpDemoTableToInsert.setTextFileId(sCurrentLine);
session.save(lookUpDemoTableToInsert); // Incase the ID is not present
tx.commit();
}
return true;
} catch (Exception e) {
tx.rollback();
} finally {
if (null != session) {
session.close();
}
}
return false;
}
}
あなたがapplicationContext.xml
意志とmain()
方法で述べたパスに入れLookUpDemoTable
クラス
@Entity
@Table(name = "demo_table")
public class LookUpDemoTable {
@Id
@Column(name = "primary_key")
private String primaryKey;
@Column(name = "text_file_id")
private String textFileId;
public String getPrimaryKey() {
return primaryKey;
}
public void setPrimaryKey(String primaryKey) {
this.primaryKey = primaryKey;
}
public String getTextFileId() {
return textFileId;
}
public void setTextFileId(String textFileId) {
this.textFileId = textFileId;
}
}
、それは、resource/spring/applicationContext.xml
あなたapplicationContext.xml
ですが、次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:batch="http://www.springframework.org/schema/batch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/batch
http://www.springframework.org/schema/batch/spring-batch-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<context:annotation-config />
<import resource="database.xml" />
<bean id="test"
class="Test"> <!-- Your fully qualified class name -->
<property name="sessionFactory" ref="sessionFactory" />
</bean>
</beans>
あなたdatabase.xml
のようになりますあなたのDBの詳細とそのannotatedClasses
あなたIdFileとしてLookUpDemoTable
クラスで定義されたSessionFactoryの豆を持っている必要があります。このことができます
IDAB12
IDAC24
IDAD89
希望。
また、このリンクを参照することができます
あなたの助けを借りて私に問題を指導してください – Keerthisairam
出力を提供すると、私は出力の完全なセット – Keerthisairam
- 1. Java - キーボード入力を読み込んでテキストファイルに書き込む
- 2. テキストファイルを配列に読み込んで変更する
- 3. テキストファイルを読み込んでテキストを比較する - Java
- 4. PHPでテキストファイルから読み込んだページのデータをAjaxで更新する
- 5. java utf-8テキストファイルの読み込みバグ?
- 6. テキストファイルからのJavaの読み込み
- 7. Javaのテキストファイルからの読み込み
- 8. PHPでテキストファイルを読み込んでデータベースに挿入するには?
- 9. テキストファイルをHTML/JavaScriptに読み込み/読み込みする
- 10. ファイルを読み込んで更新する最短のコードですか?
- 11. データベースを読み込んで更新するためのAndroid Appアーキテクチャ
- 12. 2つのテキストファイルを読み込んで新しいテキストファイルを新しいtxtファイルに送信する
- 13. テキストファイルから読み込んで内容をリストに格納するJava
- 14. テキストファイルを読み込んでJavaのクラスオブジェクトに格納する方法
- 15. テキストファイルから埋め込みリストを読み込むJava
- 16. テキストファイルを読み込み、リスト
- 17. JAVA - テキストファイルから読み込み、改行を認識する
- 18. csvから読み込んで、csvをpythonで更新する
- 19. テキストファイルを読み込んで辞書に保存する
- 20. JavaとMySQLデータベースのファイル読み込み
- 21. C#読み込み/テキストファイルをListViewに読み込む
- 22. テキストファイルをラジオボタンに読み込んでからラジオボタンを選択してテキストファイルを読み込む
- 23. テキストボックス:私はハードドライブからテキストファイルを読み込んでテキストファイル
- 24. Javaで動的なファイルパス(書き込みやテキストファイルを読み込むに)
- 25. 'selectInput'の値を読み込んで更新する方法
- 26. 大きなテキストファイルを読み込んでJavaで動作させる方法
- 27. は、HTMLでテキストファイルを読み込み、メニュー
- 28. テキストファイルから読み込んで配列に格納するC++
- 29. テキストファイルを読み込んで行単位で処理する
- 30. Pythonでテキストファイルの1行を読み込んで編集する
はSOにようこそ。あなたにはうってつけですが、なぜ私たちに語っていますか?してください、[ask]を参照してください – AxelH
私たちに今までのurコードを表示 – Abhishek
あなたが何をしてくれたのか、何処にこだわっていますか? – yakobom