THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
package sample.jpa.appclient; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; import javax.persistence.EntityTransaction; public class AccountClient { private EntityManager em; public AccountClient() { EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPA-App-Client"); if (emf == null) { throw new IllegalStateException("EntityManagerFactory is unavailable"); } em = emf.createEntityManager(); if (em == null) { throw new IllegalStateException("EntityManager is unavailable"); } } public static void main(String[] args) { AccountClient client = new AccountClient(); String opt = args[0]; if ("create".equals(opt)) { if (args.length != 6) { System.err.println("No values for accountNo, name, address, branchCode and balance. Exiting."); System.exit(0); } else { int accNo = Integer.parseInt(args[1]); String name = args[2]; String address = args[3]; int branchCode = Integer.parseInt(args[4]); double balance = Double.parseDouble(args[5]); client.createAccount(accNo, name, address, branchCode, balance); } } else if ("list".equals(opt)) { List<Account> accounts = client.listAccounts(); for (Account account: accounts) { System.out.println("_________________________________"); System.out.println(account.getAccountNo()); System.out.println(account.getName()); System.out.println(account.getAddress()); System.out.println(account.getBranchCode()); System.out.println(account.getBalance()); System.out.println("____________________________________________"); System.out.println(""); } } else if ("update".equals(opt)) { if (args.length != 3) { System.out.println("No values for accountNo and new balace value. Exiting."); System.exit(0); } else { int accNo = Integer.parseInt(args[1]); double newbalance = Double.parseDouble(args[2]); client.updateAccountBalance(accNo, newbalance); } } else if (opt.equals("delete")) { if (args.length != 2) { System.out.println("No values for accountNo for delete. Exiting."); System.exit(0); } else { int accNo = Integer.parseInt(args[1]); client.deleteAccount(accNo); } } else { System.err.println("Unknown option (" + opt + ") selected"); } } public Account createAccount(int accNo, String name, String address, int branchCode, double balance) { Account acc1 = em.find(Account.class, accNo); if (acc1 != null) { throw new IllegalArgumentException("Account already exists - account Number (" + accNo + ")"); } Account acc = new Account(); acc.setAccountNo(accNo); acc.setAddress(address); acc.setBalance(balance); acc.setBranchCode(branchCode); acc.setName(name); System.out.println("Persisting account entity (accNo = " + accNo + ")"); EntityTransaction et = em.getTransaction(); et.begin(); em.persist(acc); et.commit(); System.out.println("Persisted successfully account entity (accNo = " + accNo + ")"); return acc; } @SuppressWarnings("unchecked") public List<Account> listAccounts() { Query q = em.createQuery("SELECT a FROM Account a"); List<Account> currList = q.getResultList(); return currList; } public Account updateAccountBalance(int accNo, double newBalance) { Account acc = em.find(Account.class, accNo); if (acc == null) { throw new IllegalArgumentException("Account not found : Account Number (" + accNo + ")"); } acc.setBalance(newBalance EntityTransaction et = em.getTransaction(); emet.merge(accbegin(); acc.setBalance(newBalance); et.commit(); return acc; } public void deleteAccount(int accNo) { EntityTransaction et = em.getTransaction(); et.begin(); em.remove(em.getReference(Account.class, accNo)); et.commit(); } } |
Preparing Deployment Descriptors and Deployment Plans
...