4-3 买家类目-service
DAO:ProductCategory。Service可以简化一些,叫CategoryService。
package com.imooc.sell.service; import com.imooc.sell.dataobject.ProductCategory; import java.util.List; /**
* 类目
* Created by zhongzh
* 2018-05-26 23:53
*/
public interface CategoryService {
ProductCategory findOne(Integer categoryId);//管理后台使用
List<ProductCategory> findAll();//管理后台用的
List<ProductCategory> findByCategoryTypeInTest(List<Integer> categoryTypeList);
//新增和更新都是save方法
ProductCategory save(ProductCategory productCategory);
}
package com.imooc.sell.service.impl; import com.imooc.sell.dataobject.ProductCategory;
import com.imooc.sell.repository.ProductCategoryRepository;
import com.imooc.sell.service.CategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import java.util.List; /**
* Created by zhongzh
* 2018-05-27 0:02
*/ @Service //Service端要加一个注解
public class CategoryServiceImpl implements CategoryService { @Autowired
private ProductCategoryRepository repository;//引入DAO @Override
public ProductCategory findOne(Integer categoryId) {
return repository.getOne(categoryId);
} @Override
public List<ProductCategory> findAll() {
return repository.findAll();
} @Override
public List<ProductCategory> findByCategoryTypeInTest(List<Integer> categoryTypeList) {
return repository.findByCategoryTypeIn(categoryTypeList);
} @Override
public ProductCategory save(ProductCategory productCategory) {
return repository.save(productCategory);
}
}
com.imooc.sell.service.impl.CategoryServiceImpl的四个方法都给它测试一下
测试类
package com.imooc.sell.service.impl; import org.junit.Test; import static org.junit.Assert.*; public class CategoryServiceImplTest { @Test
public void findOne() {
} @Test
public void findAll() {
} @Test
public void findByCategoryTypeInTest() {
} @Test
public void save() {
}
}
增加注解
package com.imooc.sell.service.impl; import com.imooc.sell.dataobject.ProductCategory;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import static org.junit.Assert.*; @RunWith(SpringRunner.class)
@SpringBootTest
public class CategoryServiceImplTest { @Autowired
private CategoryServiceImpl categoryService; @Test
public void findOne() {
ProductCategory productCategory = categoryService.findOne(1);
Assert.assertEquals(new Integer(1),productCategory.getCategoryId());
} @Test
public void findAll() {
} @Test
public void findByCategoryTypeInTest() {
} @Test
public void save() {
}
}
com.imooc.sell.dataobject.ProductCategory要增加一个getCategoryId()方法才行
package com.imooc.sell.dataobject; //import javax.persistence.Table; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.Proxy; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date; /**
* 类目
* Created by zhongzh
* 2018-05-20 9:31
* s_product_category
*/
//@Table(name = "s_product_category")
@Entity//把数据库映射成对象
@Proxy(lazy = false)
@DynamicUpdate //
@Data//@Data包含生成getter、setter和toString()方法
//@Getter//如果只是需要Getter那就引入Getter
//@Setter//如果只是需要Setter那就引入Setter
//@ToString//如果只是需要ToString那就引入ToString
public class ProductCategory{
/** 类目id. */
@Id//Id是主键,自增类型的。
//@GeneratedValue//相当于调用了native策略
//@GeneratedValue(strategy = GenerationType.AUTO)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer categoryId;//字段名的命名方式也是一样的,把下划线改成为空。
/** 类目名字. */
private String categoryName; /** 类目编号. */
private Integer categoryType;
/** 创建时间. */
private Date createTime;
/** 修改时间. */
private Date updateTime;
//不要忘了Getter和Setter方法
/*
public Integer getCategoryId() {
return categoryId;
} public void setCategoryId(Integer categoryId) {
this.categoryId = categoryId;
} public String getCategoryName() {
return categoryName;
} public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
} public Integer getCategoryType() {
return categoryType;
} public void setCategoryType(Integer categoryType) {
this.categoryType = categoryType;
} public Date getCreateTime() {
return createTime;
} public void setCreateTime(Date createTime) {
this.createTime = createTime;
} public Date getUpdateTime() {
return updateTime;
} public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
} @Override
public String toString() {
return "ProductCategory{" +
"categoryId=" + categoryId +
", categoryName='" + categoryName + '\'' +
", categoryType=" + categoryType +
'}';
}
*/ public ProductCategory(String categoryName, Integer categoryType) {
this.categoryName = categoryName;
this.categoryType = categoryType;
} public ProductCategory() {
super();
} public Integer getCategoryId() {
return categoryId;
}
}
package com.imooc.sell.service.impl; import com.imooc.sell.dataobject.ProductCategory;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; import java.util.Arrays;
import java.util.List; import static org.junit.Assert.*; @RunWith(SpringRunner.class)
@SpringBootTest
public class CategoryServiceImplTest { @Autowired
private CategoryServiceImpl categoryService; @Test
public void findOne() {
ProductCategory productCategory = categoryService.findOne(10);
Assert.assertEquals(new Integer(1),productCategory.getCategoryId());
} @Test
public void findAll() {
List<ProductCategory> productCategoryList = categoryService.findAll();
Assert.assertNotEquals(0,((List) productCategoryList).size());//如果集合的总数不等于null,如果productCategoryList的size不等于0,至少是有内容的。
} @Test
public void findByCategoryTypeInTest() {
List<ProductCategory> productCategoryList = categoryService.findByCategoryTypeInTest(Arrays.asList(1,2,4));
Assert.assertNotEquals(0,productCategoryList.size());
} @Test
public void save() {
ProductCategory productCategory = new ProductCategory("男生专享",10);
ProductCategory result = categoryService.save(productCategory);
Assert.assertNotNull(result);
}
}
因为类目并没有给买家端提供专门的接口,所以类目相关Controller层不用再写了。而是商品,下一节开发商品相关的功能。
4-3 买家类目-service的更多相关文章
- 4-2 买家类目-dao(下)
查询出来的对象ProductCategory就已经有updateTime和createTime了,然而你只是把对象的categoryType给修改了一下,修改之后就执行save方法保存了.所以它还是原 ...
- 如何增加亚马逊listing多个类目节点
流量是电商销售的必要因素,可以说,任何成功的电商平台都离不开流量.亚马逊listing优化做得好,不仅能提高产品的曝光率,还能提升转换率,而好的类目可以吸引大的流量.帮你快速爬升. 首先我们来了解一下 ...
- 干货 | 揭秘如何增加listing多个类目节点
流量是电商销售的必要因素,可以说,任何成功的电商平台都离不开流量.亚马逊listing优化做得好,不仅能提高产品的曝光率,还能提升转换率,而好的类目可以吸引大的流量.帮你快速爬升. 首先我们来了解一下 ...
- JAVAEE——宜立方商城03:商品类目选择、Nginx端口或域名区分虚拟机、Nginx反向代理、负载均衡、keepalived实现高可用
1. 学习计划 第三天: 1.商品类目选择(EasyUI的tree实现) 2.图片上传 a) 图片服务器FastDFS(Nainx部分) 2. 商品类目选择 2.1. 原型 2.2. 功能分析 展示商 ...
- 商品类目和商品大广告的Redis缓存
(dubbo)主要的实现类: 商品类目的Redis缓存 com.bjsxt.ego.portal.service.impl.PortalItemCatServiceImpl package com.b ...
- Objective-C中的类目,延展,协议
Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...
- OC中协议, 类目, 时间, 延展, 属性
只有继承和协议需要引IMPORT "头文件"; 必须接受marryprotocol协议, id<marryprotocol>基于类型的限定, 才能给实例变量赋值 @pr ...
- Objective - C - 添加类目 - NSDate
1.类目为系统内部的类或者是没有源代码的类添加方法,不有添加实例变量 2.添加的方法会成为原类的一部分,子类照样可以使用 3.类目的文件名为原类名+文件名 4.既可以添加实例方法,也可以添加类方法 X ...
- Objective-C学习笔记类目、协议
不是所有的方法都可以被覆盖的!比如:intValue就不能被覆盖!! 原因正在查找中! 别人的电脑上却可以! 类目.h件 #import <Foundation/Foundation.h> ...
随机推荐
- python pip 安装一些包找不到的问题 Could not find a version that satisfies....
有时我们使用下载python 自带的pip 安装一些工具包时,会报如下错误 找不到满意的版本,这时就是我们的pip可能需要升级了,所以使用 python -m pip install --upgrad ...
- PHP读取mysql中的数据
<!DOCTYPE HTML> <html> <head> <title> PHP动态读取mysql中的数据 </title> <me ...
- JavaEE JDBC RowSet行集
RowSet行集 @author ixenos 应用背景 1.基于结果集的缺点:在与用户的整个交互过程中,必须始终与数据库保持连接 后果:当用户长时间离开时,数据库连接长时间被占用,而这属于稀缺资源: ...
- [K/3Cloud] 代码中设置某个字段必录
Control ctl = this.GetControl(fieldKey); FieldEditor editCtl = ctl as FieldEditor; if (editCtl != nu ...
- 括号序列(Poj1141)
Poj1141 题目描述: 定义合法的括号序列如下: 1 空序列是一个合法的序列 2 如果S是合法的序列,则(S)和[S]也是合法的序列 3 如果A和B是合法的序列,则AB也是合法的序列 例如:下面的 ...
- 【Tomcat】Tomcat性能分析
一.预研任务介绍和预研目标 任务介绍: Apache Tomcat是目前较为流行的web服务器,以其技术先进.性能稳定著称,其次它还是一个免费开源的项目. Tomcat性能分析的意义在于能为日常工作中 ...
- 使用MediaPlayer播放、暂停、停止音乐
package com.pingyijinren.test; import android.media.MediaPlayer; import android.os.Environment; impo ...
- Educational Codeforces Round 41 B、C、D
http://codeforces.com/contest/961 B题 可以将长度为k的连续区间转化成1 求最大和 解析 简单尺取 #include <stdio.h> #include ...
- Mybatis中insert中返回主键ID的方法
<insertid=“doSomething"parameterType="map"useGeneratedKeys="true"keyProp ...
- apache ab 測试 apr_socket_connect(): 因为目标机器积极拒绝 无法连接
遇到这样的情况通常是你开的并行数量太多了... 比如:ab -c 1000 -n 10000 http://localhost/index.html 如此大的请求就会挂掉,只是还是有补救措施的,能够通 ...