package cc.blynk.server.db.dao; import cc.blynk.server.db.model.Purchase; import com.zaxxer.hikari.HikariDataSource; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.sql.Connection; import java.sql.PreparedStatement; /** * The Blynk Project. * Created by Dmitriy Dumanskiy. * Created on 09.03.16. */ public class PurchaseDBDao { public static final String insertPurchase = "INSERT INTO purchase (email, reward, transactionId, price) values (?, ?, ?, ?)"; private static final Logger log = LogManager.getLogger(PurchaseDBDao.class); private final HikariDataSource ds; public PurchaseDBDao(HikariDataSource ds) { this.ds = ds; } public void insertPurchase(Purchase purchase) { try (Connection connection = ds.getConnection(); PreparedStatement ps = connection.prepareStatement(insertPurchase)) { insert(ps, purchase); ps.executeUpdate(); connection.commit(); } catch (Throwable e) { log.error("Error inserting purchase data in DB. {}", e.getMessage()); } } private static void insert(PreparedStatement ps, Purchase purchase) throws Exception { ps.setString(1, purchase.email); ps.setInt(2, purchase.reward); ps.setString(3, purchase.transactionId); ps.setDouble(4, purchase.price); } }