ItemDAOMySQLImpl.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright © 2004-2019 L2J Server
  3. *
  4. * This file is part of L2J Server.
  5. *
  6. * L2J Server is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * L2J Server is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. package com.l2jserver.gameserver.dao.impl.mysql;
  20. import java.sql.Connection;
  21. import java.sql.PreparedStatement;
  22. import java.sql.ResultSet;
  23. import org.slf4j.Logger;
  24. import org.slf4j.LoggerFactory;
  25. import com.l2jserver.commons.database.pool.impl.ConnectionFactory;
  26. import com.l2jserver.gameserver.dao.ItemDAO;
  27. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  28. /**
  29. * Item DAO MySQL implementation.
  30. * @author Zoey76
  31. */
  32. public class ItemDAOMySQLImpl implements ItemDAO
  33. {
  34. private static final Logger LOG = LoggerFactory.getLogger(ItemDAOMySQLImpl.class);
  35. private static final String SELECT = "SELECT object_id FROM `items` WHERE `owner_id`=? AND (`loc`='PET' OR `loc`='PET_EQUIP') LIMIT 1;";
  36. @Override
  37. public void loadPetInventory(L2PcInstance player)
  38. {
  39. try (Connection con = ConnectionFactory.getInstance().getConnection();
  40. PreparedStatement ps = con.prepareStatement(SELECT))
  41. {
  42. ps.setInt(1, player.getObjectId());
  43. try (ResultSet rs = ps.executeQuery())
  44. {
  45. player.setPetInvItems(rs.next() && (rs.getInt("object_id") > 0));
  46. }
  47. }
  48. catch (Exception e)
  49. {
  50. LOG.error("Could not check Items in Pet Inventory for {}, {}", player, e);
  51. }
  52. }
  53. }