1. entities包创建实体类(相当于数据库的字段)
package com.cc.springboot.entities;
import java.util.Date;
/**
* 供应商实体类
* @Title: Provider
* @Description: com.mengxuegu.springboot.entities
* @Auther: www.mengxuegu.com
* @Version: 1.0
*/
public class Provider {
private Integer pid;
//供应商编码
private String providerCode;
//供应商名称
private String providerName;
//联系人
private String people;
//联系电话
private String phone;
//联系地址
private String address;
//传真
private String fax;
//描述
private String describe;
// 创建时间
private Date createDate;
public Provider() {
}
public Provider(Integer pid, String providerCode, String providerName, String people, String phone, String address, String fax, String describe) {
this.pid = pid;
this.providerCode = providerCode;
this.providerName = providerName;
this.people = people;
this.phone = phone;
this.address = address;
this.fax = fax;
this.describe = describe;
this.createDate = new Date();
}
@Override
public String toString() {
return "Provider{" +
"pid=" + pid +
", providerCode='" + providerCode + '\'' +
", providerName='" + providerName + '\'' +
", people='" + people + '\'' +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
", fax='" + fax + '\'' +
", describe='" + describe + '\'' +
", createDate=" + createDate +
'}';
}
public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public String getProviderCode() {
return providerCode;
}
public void setProviderCode(String providerCode) {
this.providerCode = providerCode;
}
public String getProviderName() {
return providerName;
}
public void setProviderName(String providerName) {
this.providerName = providerName;
}
public String getPeople() {
return people;
}
public void setPeople(String people) {
this.people = people;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date date) {
this.createDate = date;
}
}
2.dao包中创建逻辑类,相当于方法
package com.cc.springboot.dao;
import com.cc.springboot.entities.Provider;
import org.springframework.stereotype.Repository;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@Repository
public class ProviderDao {
private static Map<Integer, Provider> providerMap = null;
private static Integer initId = 2006;
static {
providerMap = new HashMap<Integer, Provider>();
providerMap.put(2001, new Provider(2001, "PR-AA", "梦学谷供应商111", "小张", "18888666981", "深圳软件园", "0911-0123456", "品质A"));
providerMap.put(2002, new Provider(2002, "PR-BB", "梦学谷供应商222", "小李", "18888666982", "深圳软件园", "0911-0123453", "品质B"));
providerMap.put(2003, new Provider(2003, "PR-CC", "梦学谷供应商333", "小白", "18888666983", "深圳软件园", "0911-0123454", "品质C"));
providerMap.put(2004, new Provider(2004, "PR-DD", "梦学谷供应商444", "小梦", "18888666984", "深圳软件园", "0911-0123451", "品质D"));
providerMap.put(2005, new Provider(2005, "PR-EE", "梦学谷供应商555", "小谷", "18888666985", "深圳软件园", "0911-0123452", "品质E"));
}
public void save(Provider provider){
if(provider.getPid() == null){
provider.setPid(initId++);
}
providerMap.put(provider.getPid(), provider);
}
public Collection<Provider> getAll(){
return providerMap.values();
}
public Collection<Provider> getAll(String providerName){
Collection<Provider> providers = getAll();
//不为空
if( !ObjectUtils.isEmpty( providerName )) {
int count = 0;
for (Provider provider: providers) {
//包含则存在
if ( provider.getProviderName().toUpperCase().contains( providerName.toUpperCase() ) ) {
count++;
//count>1 表示集合至少有一个存在的用户, 否则创建新的集合
providers = count > 1 ? providers : new ArrayList<Provider>();
providers.add(provider);
}
}
if(count==0){
providers= new ArrayList<Provider>();
}
}
return providers;
}
public Provider getProvider(Integer pid){
return providerMap.get(pid);
}
public void delete(Integer pid){
providerMap.remove(pid);
}
}
3。controller层
package com.cc.springboot.controller;
import com.cc.springboot.dao.ProviderDao;
import com.cc.springboot.entities.Provider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Collection;
import java.util.Map;
@Controller
public class ProviderController {
// 日志
Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
ProviderDao providerDao;
// @RequestMapping(value="/providers",method= RequestMethod.GET)
@GetMapping("/providers")
public String list(Map<String,Object> map,@RequestParam(value = "providerName",required = false) String providerName){
logger.info("供应商列表查询。。。。"+providerName);
Collection<Provider> providers = providerDao.getAll(providerName);
map.put("providers",providers);
return "provider/list";
}
}
4.显示页面
<form id="searchForm" th:action="providers" th:method="get">
<div class="search">
<span>供应商名称:</span>
<input type="text" name="providerName" placeholder="请输入供应商的名称"/>
<input type="button" value="查询" onclick="$('#searchForm').submit()"/>
<a href="add.html">添加供应商</a>
</div>
</form>
<!--供应商操作表格-->
<table class="providerTable" cellpadding="0" cellspacing="0">
<tr class="firstTr">
<th width="10%">供应商编码</th>
<th width="20%">供应商名称</th>
<th width="10%">联系人</th>
<th width="10%">联系电话</th>
<th width="10%">传真</th>
<th width="10%">创建时间</th>
<th width="30%">操作</th>
</tr>
<tr th:each="p:${providers}">
<td th:text="${p.pid}"></td>
<td th:text="${p.providerName}"></td>
<td th:text="${p.people}"></td>
<td th:text="${p.phone}"></td>
<td th:text="${p.fax}"></td>
<td th:text="${#dates.format(p.createDate,'yyyy-MM-dd')}"></td>
<td>
<a href="view.html"><img th:src="@{/img/read.png}" alt="查看" title="查看"/></a>
<a href="update.html"><img th:src="@{/img/xiugai.png}" src="../img/xiugai.png" alt="修改" title="修改"/></a>
<a href="#" class="delete" ><img th:src="@{/img/schu.png}" src="../img/schu.png" alt="删除" title="删除"/></a>
</td>
</tr>
</table>
格式化日期-》 <td th:text="${#dates.format(p.createDate,'yyyy-MM-dd')}"></td>
搜索
<form id="searchForm" th:action="providers" th:method="get">
<div class="search">
<span>供应商名称:</span>
<input type="text" name="providerName" placeholder="请输入供应商的名称"/>
<input type="button" value="查询" onclick="$('#searchForm').submit()"/>
<a href="add.html">添加供应商</a>
</div>
</form>
搜索的时候回显数据
controller添加
map.put("providerName",providerName);
页面中添加
<form id="searchForm" th:action="providers" th:method="get">
<div class="search">
<span>供应商名称:</span>
<input type="text" th:value="${providerName}" name="providerName" placeholder="请输入供应商的名称"/>
<input type="button" value="查询" onclick="$('#searchForm').submit()"/>
<a href="add.html">添加供应商</a>
</div>
</form>