Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- public class Product {
- @Id
- private int id;
- @Column
- private String productId;
- @Column
- private String name;
- @Column
- private BigDecimal unitPrice;
- @Column
- private String description;
- @Column
- private String manufacturer;
- @Column
- private String category;
- @Column
- private long unitsInStock;
- @Column
- private long unitsInOrder;
- @Column
- private boolean discontinued;
- @Column
- private String condition;
- public Product(String productId, String name, BigDecimal unitPrice){
- this.productId = productId;
- this.name = name;
- this.unitPrice = unitPrice;
- }
- <persistence xmlns="http://java.sun.com/xml/ns/persistence"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
- version="2.0">
- <persistence-unit name="myDatabase" transaction-type="RESOURCE_LOCAL">
- <provider>org.hibernate.ejb.HibernatePersistence</provider>
- <properties>
- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
- <property name="javax.persistence.jdbc.user" value="tutorial" />
- <property name="javax.persistence.jdbc.password" value="password" />
- <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mojabaza" />
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
- <property name="hibernate.hbm2ddl.auto" value="update" />
- </properties>
- </persistence-unit>
- @Transactional
- @Repository
- public class InMemoryProductRepository implements ProductRepository {
- @PersistenceContext
- EntityManager entityManager;
- private List<Product> listOfProducts = new ArrayList<Product>();
- public InMemoryProductRepository() {
- Product iphone = new Product("P1234", "iPhone 5s", new BigDecimal(500));
- iphone.setDescription("Apple iPhone 5s, smartfon z 4-calowym wyswietlaczem o rozdielczosci 640x1136 oraz "
- + "8-megapikselowym aparatem");
- iphone.setCategory("Smart Phone");
- iphone.setManufacturer("Apple");
- iphone.setUnitsInStock(1000);
- iphone.setId(1);
- listOfProducts.add(iphone);
- }
- public void insertProductToDatabase(Product product) {
- entityManager.persist(product);
- }
- @Service
- public class ProductServiceImpl implements ProductService{
- @Autowired
- ProductRepository productRepository;
- public void insertProductToDatabase(Product product){
- productRepository.insertProductToDatabase(product);
- }
- @Controller
- @RequestMapping("/products")
- public class ProductController {
- @Autowired
- private ProductService productService;
- @RequestMapping
- public String list(Model model){
- Product pr = new Product("P1", "okna", new BigDecimal(1000));
- pr.setId(1);
- productService.insertProductToDatabase(pr);
- productService.insertProductToDatabase(productService.getProductsById("P1234"));
- model.addAttribute("products", productService.getAllProducts());
- return "products";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement