以下のデータを保存したいのはmysqlデータベースです。次のデータを保存するためのjdbcプログラムの書き方
私は次の表を持っています
message(messageid, message_heading ,message_data)
msgTag(tagid,tag,messageid)
私は次のデータを持っていますこんにちはお元気ですか(メッセージの見出し)
こんにちはお元気ですか....元気です(message_data)
タグ->abc、rst def、mer、hat
上記の表に上記のデータを保存したい方法。
また、トランザクション制御を使用する必要があります
私は次のコーディングを行いました
PreparedStatement msg = null;
PreparedStatement tags = null;
String querymsg =
insert in to msg value(?,?,?);
String querytags =
insert in to msg value(?,?,?);
try {
con.setAutoCommit(false);
insertmsg = con.prepareStatement(querymsg);
inserttags = con.prepareStatement(querytags);
insertmsg.setString(1,msgid);
insertmsg.setString(2,message_heading);
insertmsg.setString(3,message_data);
insertmsg.executeUpdate();
inserttags.setString(1,tagid);
inserttags.setString(2,tag);
inserttags.setString(3,messageid);
inserttags.executeUpdate();
}
} catch (SQLException e ) {
if (con != null) {
try {
System.err.print("Transaction is being rolled back");
con.rollback();
} catch(SQLException excep) {
JDBCTutorialUtilities.printSQLException(excep);
}
}
} finally {
if (insertmsg != null) {
insertmsg.close();
}
if (inserttags != null) {
inserttags.close();
}
con.setAutoCommit(true);
}
}
次のコードを変更して、1つのメッセージに関連するテーブルに複数のタグが格納され、トランザクション制御を維持するようにします。