MVC案例——模糊查询
生活随笔
收集整理的這篇文章主要介紹了
MVC案例——模糊查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模糊查詢:
——根據傳入的name,password屬性列進行查詢
——需要在CustomerDAO接口中定義一個getForListWithCriteriaCustomer(CriteriaCustomer cc).
其中CriteriaCustomer用于封裝查詢條件:name,address,phone。
因為查詢條件很多時候和domain類并不相同,所以要做成一個單獨的類
——拼SQL:
- SQL:"SELECT ID,NAME,PASSWORD FROM CUSTOMER WHERE"+"NAME LIKE ? AND PASSWORD LIKE ? ";
- 為了正確的填充占位符時,重寫了CriteriaCustomer的getter:?
——修改Servlet:獲取請求參數;把請求參數封裝為CriteriaCustomer對象,再調用getForListWithCriteriaCustomer(CriteriaCustomer cc)方法
?
步驟:
1.首先在CustomerDAO接口中添加該方法。
public List<Customer> getListWithCirteriaCustomer(CriteriaCustomer cc);
2.創建一個CriteriaCustomer類,對成員變量進行封裝
package com.mvcapp.entity;public class CriteriaCustomer {private String name;private String password;public CriteriaCustomer(String name, String password) {this.name = name;this.password = password;}public CriteriaCustomer() {}public String getName() {if (name == null){name="%%";}else{name="%"+ name +"%";}return name;}@Overridepublic String toString() {return "CriteriaCustomer{" +"name='" + name + '\'' +", password='" + password + '\'' +'}';}public void setName(String name) {this.name = name;}public String getPassword() {if (password == null){password="%%";}else{password="%"+ password +"%";}return password;}public void setPassword(String password) {this.password = password;} }
3.在CustomerDAOimpl實現類實現該方法
public List<Customer> getListWithCirteriaCustomer(CriteriaCustomer cc) {String sql = "SELECT ID,NAME,PASSWORD FROM CUSTOMER WHERE" + " NAME LIKE ? AND PASSWORD LIKE ?";return getForList(sql,cc.getName(),cc.getPassword());//調用DAO層中方法}
4.可以對這個實現方法進行一個測試
@Testpublic void testGetListWithCriteriaCustomer(){CriteriaCustomer criteriaCustomer = new CriteriaCustomer("Y",null);List<Customer> customers = customerDAO.getListWithCirteriaCustomer(criteriaCustomer);System.out.println(customers);}
5.修改Servlet,修改query方法
private void query(HttpServletRequest req,HttpServletResponse resp){String name = req.getParameter("name");String password = req.getParameter("password");CriteriaCustomer criteriaCustomer = new CriteriaCustomer(name,password);List<Customer> list = customerDAO.getListWithCirteriaCustomer(criteriaCustomer);req.setAttribute("list",list);try {req.getRequestDispatcher("/query.jsp").forward(req,resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
效果:
轉載于:https://www.cnblogs.com/yangHS/p/11137658.html
總結
以上是生活随笔為你收集整理的MVC案例——模糊查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——U
- 下一篇: docker-compose 部署elk