Как извлечь данные из БД и распечатать в JSP, используя Spring и Hibernate? - PullRequest
0 голосов
/ 20 января 2019

Я уже написал код для вставки моих данных в мою БД, но я немного запутался в том, как извлечь эти данные в формате json и распечатать в моем виде jsp, используя таблицу данных jQuery.Я написал код для получения, но я все еще застрял.Пожалуйста, помогите.

Вот мои фрагменты кода:

класс сущности:

package model.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;

@Entity
public class Products {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int productId;
    @Size(min=1)
    private String productName;
    @Min(value=1, message = "Value cannot be zero or negative")
    private double unitPrice;
    @Size(min=1)
    private String productDescription;
    @Size(min=1)
    private String category;
    @Min(value = 1, message = " Quantity should be greater than zero and positive")
    @Max(value= 99, message = " Quantity limit exceeded, value should be less than 100")
    private int productQty;

    public Products() {}

    public Products(int productId, String productName, double unitPrice, String productDescription, String category, int productQty) {
        super();
        this.productQty = productQty;
        this.productId = productId;
        this.productName = productName;
        this.unitPrice = unitPrice;
        this.productDescription = productDescription;
        this.category = category;
    }

    public int getProductQty() {
        return productQty;
    }

    public void setProductQty(int productQty) {
        this.productQty = productQty;
    }

    public int getProductId() {
        return productId;
    }

    public void setProductId(int productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public double getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(double unitPrice) {
        this.unitPrice = unitPrice;
    }

    public String getProductDescription() {
        return productDescription;
    }

    public void setProductDescription(String productDescription) {
        this.productDescription = productDescription;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

Класс DAOImplementation:

    package model.daoimpl;

    import java.util.List;

    import org.hibernate.Session;

    import model.config.HibernateUtil;
    import model.dao.IProductsDAO;
    import model.entity.Products;

    public class ProductsDAOImpl implements IProductsDAO {
        private Session sess;
        public ProductsDAOImpl() {
            sess = HibernateUtil.getSessionFactory().openSession();
        }
        public boolean insertProduct(Products p) {
    boolean b = true;

            try
            {
                sess.beginTransaction();
                sess.save(p);
                sess.getTransaction().commit();

            }catch(Exception ex)
            {
                b = false;
                sess.getTransaction().rollback();
                ex.printStackTrace();
            }

            return b;
        }

        public List<Products> getProducts()
        {
            List<Products> lp = null;
            try
            {
                sess.beginTransaction();
                lp = sess.createQuery("from Product",Products.class).getResultList();       
            }catch(Exception ex)
            {
                ex.printStackTrace();
            }
            return lp;
        }   

        }

класс контроллера:

@Controller
public class ProductController {
    @RequestMapping(value="/manageproducts", method= RequestMethod.GET)
    public String manageProductPage() {
        return "manageproducts";
    }

    @RequestMapping(value="/insertproducts",method = RequestMethod.POST)
    public String addInserProductsPage(@ModelAttribute("Products")Products p) {
        IProductsDAO ip = new ProductsDAOImpl();
        boolean b = ip.insertProduct(p);
        if(b)
            return "success";
        else
            return "manageproducts";
    }

    @RequestMapping(value="/listproducts", method = RequestMethod.GET)
    public List<Products> listAllProducts(){
        IProductsDAO ip = new ProductsDAOImpl();
        return ip.getProducts();
    }

}

Итак, как вы можете видеть, я создал функцию getproducts, но я не создал представление для отображения продуктов, для которых я хочу использовать таблицу данных jQuery. Также я немного запутался в том, как сопоставлятьвид с моего контроллера.Поэтому, пожалуйста, помогите.

1 Ответ

0 голосов
/ 20 января 2019

Вы можете использовать Модель, чтобы отправить свой список на страницу просмотра

    @RequestMapping(value="/listproducts",      method = RequestMethod.GET) 
    public String listAllProducts(Model model){
        IProductsDAO ip = new ProductsDAOImpl(); 
        List<Products> products = ip.getProducts(); 
        model.addAttribute ("products",products);
        Return "your view name without .jsp";
      }
...