【发布时间】:2013-01-21 05:57:12
【问题描述】:
我要存储以下数据是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);
}
}
我想更改以下代码,以便将多个标签存储在表中 与一条消息相关,并应保持事务控制。
【问题讨论】:
-
你已经尝试过什么了吗?
-
是的,使用准备好的语句,我只能将数据存储在消息中。
-
为什么不在另一个表中,看你只需要一个数据库连接,但每个表需要两个差异准备语句
-
@HussainAkhtarWahid 请更新她的代码。
标签: java stored-procedures jdbc prepared-statement