java - 在数据库中保存玩家手
问题描述
因此,我想将playerID(位于名为Player的不同表中)添加到表(PlayersHand)中,我还想将 CardsID、CardsName 和 typeOfDeck 添加到该表(PlayersHand)中。
我尝试使用 RETURN_GENERATED_KEYS 来获取 PlayersID,因为它是我的表Player中的自动增量列
我需要的其他信息可以通过遍历玩家列表来获取他们的手牌和卡片 ID、姓名、牌组类型。
public void saveHand(List<Player> players) throws SQLException{
try (java.sql.Connection conn = DriverManager.getConnection(Connectie.JDBC_URL);
PreparedStatement query = conn.prepareStatement(INSERT_KAARTEN_IN_HAND)) {
/* private static final String INSERT_KAARTEN_IN_HAND = "INSERT INTO ID222177_g74.KaartenSpeler (idPlayer, idCard, cardName, deck)"
+ "VALUES (?,?,?, ?)";*/
int count = 0;
int teller = 0;
for (Player s : players) {
do {
query.setInt(1, getPlayerID());
query.setInt(2, s.getHand().get(teller).getKaartID());
query.setString(3, s.getHand().get(teller).getNaam());
query.setString(4, s.getHand().get(teller).getSoort()); query.addBatch();
teller++;
count++;
if (count % 100 == 0 || count == players.size()) {
query.executeBatch();
}
} while (teller <= s.getHand().size());
}
}
}
在另一个查询中,我使用它来获取 playerid
try (ResultSet generatedKeys = query.getGeneratedKeys()) {
if (generatedKeys.next()) {
setPlayerID(generatedKeys.getInt(1));
}
基本上一个玩家只能持有5张卡,或者更少,我想将它们保存在数据库中。所以对于每个玩家,我想保存他所有的牌。
现在我得到 1 名玩家,如果他手里有 4 张牌,我喜欢 3 张牌。但随后它会停止并且不会影响其他玩家。
所以应该像
PLayer 1 card1 cardName decktype
PLayer 1 card2 cardName decktype
PLayer 1 card3 cardName decktype
PLayer 1 card4 cardName decktype
PLayer 2 card1 cardName decktype
PLayer 2 card2 cardName decktype
PLayer 2 card3 cardName decktype
PLayer 2 card4 cardName decktype
PLayer 3 card1 cardName decktype
PLayer 3 card2 cardName decktype
PLayer 3 card3 cardName decktype
PLayer 3 card4 cardName decktype
解决方案
推荐阅读
- search - 正则表达式输出的 Splunk 子搜索
- parsing - 如何在 VBScript 中使用 HTML 标签解析网页
- angular - 角2+ | 向后浏览后删除转发历史记录
- iis - 如何在 IIS 中为子域创建符号链接,这将打开另一个在 IIS 上运行的域
- javascript - D3 多折线图无法正确显示 X 轴值
- react-virtualized - _isRowLoaded 和 _loadMoreRows 没有被调用反应虚拟化
- sparql - 带有 xsd:dateTime 的 SPARQL 子查询
- sql - 在 SQL Server 中插入随机行而不按名称寻址每一列?
- python - 使用 pytest 修补 googleads 包以进行单元测试
- python - 跳跃,一个python解决方案