成员集成

master
hy 5 years ago
commit 08e75d51f2

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>mall</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
<classpathentry kind="src" path="target/m2e-wtp/web-resources"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

@ -0,0 +1,6 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8

@ -0,0 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="mall-0.0.1-SNAPSHOT">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
<property name="context-root" value="mall"/>
<property name="java-output-path" value="/mall/target/classes"/>
</wb-module>
</project-modules>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="4.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

@ -0,0 +1 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

@ -0,0 +1,2 @@
disabled=06target
eclipse.preferences.version=1

@ -0,0 +1,10 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>pers.someone</groupId>
<artifactId>tmall</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>mall</artifactId>
<packaging>war</packaging>
</project>

@ -0,0 +1,30 @@
package tmall.annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import tmall.pojo.User;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import java.lang.annotation.Inherited;
/**
*
*
*
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({METHOD, TYPE})
@Inherited
public @interface Auth {
User.Group value();
}

@ -0,0 +1,17 @@
package tmall.annotation;
import static java.lang.annotation.ElementType.PARAMETER;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* |
* controller
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({PARAMETER})
public @interface Nullable {
}

@ -0,0 +1,13 @@
package tmall.annotation.ORMAnnotation;
import java.lang.annotation.*;
/**
* Mapper| ORMEnum
* Enum var String
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Enumerated {
String var();
}

@ -0,0 +1,14 @@
package tmall.annotation.ORMAnnotation;
import java.lang.annotation.*;
/**
* Mapper| ORM
* ManyToOne OneToMany 使
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface JoinColumn {
String name();
}

@ -0,0 +1,13 @@
package tmall.annotation.ORMAnnotation;
import java.lang.annotation.*;
/**
* Mapper| ORM
* Object JoinColumn 使
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ManyToOne {
}

@ -0,0 +1,14 @@
package tmall.annotation.ORMAnnotation;
import java.lang.annotation.*;
/**
* Mapper| ORM
* List<Object> JoinColumn 使
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface OneToMany {
}

@ -0,0 +1,60 @@
package tmall.aspect;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import tmall.annotation.Nullable;
import tmall.exception.ParameterException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.ArrayList;
/**
*
*
*/
@Aspect
@Component
public class VerificationAspect {
/**
* Controller Controller public
*/
@Pointcut("execution(public * tmall.controller.*.*Controller.*(..))")
public void joinPointInAllController() {
}
/**
*
*
* @param point
*/
@Before("joinPointInAllController()")
public void checkParameter(JoinPoint point) throws ParameterException {
// 获得切入方法参数
Object[] args = point.getArgs();
// 获得切入的方法
Method method = ((MethodSignature) point.getSignature()).getMethod();
// 获得所有参数
Parameter[] parameters = method.getParameters();
// 保存需要校验的args
ArrayList<Object> argsWithoutNullable = new ArrayList<>();
// 对没有Nullable注解的参数进行非空校验
for (int i = 0; i < parameters.length; i++) {
Parameter parameter = parameters[i];
Annotation[] annotations = parameter.getDeclaredAnnotationsByType(Nullable.class);
if (annotations.length < 1) {
argsWithoutNullable.add(args[i]);
}
}
for (Object o : argsWithoutNullable) {
if (o == null) {
throw new ParameterException("非法请求,参数不全");
}
}
}
}

@ -0,0 +1,60 @@
package tmall.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ExceptionHandler;
import tmall.service.CartItemService;
import tmall.service.CategoryService;
import tmall.service.CommentService;
import tmall.service.ConfigService;
import tmall.service.OrderItemService;
import tmall.service.OrderService;
import tmall.service.ProductImageService;
import tmall.service.ProductService;
import tmall.service.PropertyService;
import tmall.service.PropertyValueService;
import tmall.service.UserService;
import tmall.util.FileUtil;
/**
* BaseController Autowired
*
*/
public class BaseController {
@Autowired
public PropertyService propertyService;
@Autowired
public CategoryService categoryService;
@Autowired
public ProductService productService;
@Autowired
public ProductImageService productImageService;
@Autowired
public PropertyValueService propertyValueService;
@Autowired
public ConfigService configService;
@Autowired
public OrderService orderService;
@Autowired
public UserService userService;
@Autowired
public OrderItemService orderItemService;
@Autowired
public CommentService commentService;
@Autowired
public CartItemService cartItemService;
@Autowired
public FileUtil fileUtil;
@ExceptionHandler
public String handleException(HttpServletRequest request, Exception exception) {
exception.printStackTrace();
return "500";
}
}

@ -0,0 +1,9 @@
package tmall.controller.admin;
import tmall.annotation.Auth;
import tmall.controller.BaseController;
import tmall.pojo.*;
@Auth(User.Group.superAdmin)
public class AdminBaseController extends BaseController{
}

@ -0,0 +1,69 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.annotation.Nullable;
import tmall.pojo.Category;
import tmall.pojo.User;
import tmall.util.Pagination;
import tmall.util.UploadedImageFile;
import javax.servlet.http.HttpSession;
import java.util.List;
@Controller
@RequestMapping("/admin/category")
public class CategoryController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Model model, Pagination pagination) throws Exception {
List<Category> categories = categoryService.
list("pagination", pagination, "order", "recommend desc, id desc");
model.addAttribute("categories", categories);
return "admin/listCategory";
}
@RequestMapping("add")
public String add(String name, Integer recommend,
UploadedImageFile uploadedImageFile) throws Exception {
Category c = new Category();
c.setName(name);
c.setRecommend(recommend);
categoryService.add(c);
fileUtil.saveImg(uploadedImageFile, "category", c.getId() + ".jpg");
return "redirect:list";
}
@Auth(User.Group.admin)
@RequestMapping("edit")
public String edit(Integer id, Model model) throws Exception {
Category category = (Category) categoryService.get(id);
model.addAttribute(category);
return "admin/editCategory";
}
@RequestMapping("update")
public String update(Integer id, String name, Integer recommend,
@Nullable UploadedImageFile uploadedImageFile, HttpSession session) throws Exception {
Category c = (Category) categoryService.get(id);
c.setRecommend(recommend);
c.setName(name);
categoryService.update(c);
if (uploadedImageFile.getImage().getSize() > 0) {
fileUtil.saveImg(uploadedImageFile, "category", c.getId() + ".jpg");
}
//清空搜索栏下的cs缓存
session.removeAttribute("cs");
return "redirect:list";
}
@RequestMapping("delete")
public String delete(Integer id, HttpSession session) throws Exception {
categoryService.delete(categoryService.get(id));
session.removeAttribute("cs");
return "redirect:list";
}
}

@ -0,0 +1,62 @@
package tmall.controller.admin;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Config;
import tmall.pojo.Product;
import tmall.pojo.ProductImage;
import tmall.pojo.User;
import tmall.util.Pagination;
@Controller
@RequestMapping("/admin/config")
public class ConfigController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("edit")
public String edit(Model model) throws Exception {
List<Config> configs = configService.list();
model.addAttribute("configs", configs);
return "admin/editConfig";
}
@RequestMapping("update")
public String update(Integer[] id, String[] value, HttpSession session) throws Exception {
configService.update(id, value, "value");
//使设置立马生效
session.removeAttribute("productImgDir");
return "redirect:edit";
}
}

@ -0,0 +1,68 @@
package tmall.controller.admin;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Config;
import tmall.pojo.Order;
import tmall.pojo.Product;
import tmall.pojo.ProductImage;
import tmall.pojo.User;
import tmall.pojo.base.BasePOJO;
import tmall.util.Pagination;
@Controller
@RequestMapping("/admin/order")
public class OrderController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Model model, Pagination pagination) throws Exception {
List<Order> orders = orderService.list("pagination", pagination);
model.addAttribute("orders", orders);
return "admin/listOrder";
}
@Auth(User.Group.admin)
@RequestMapping("deliver")
public String deliver(Integer oid) throws Exception {
Order order = (Order) orderService.get(oid);
order.setStatus(Order.Status.waitConfirm);
order.setDeliverDate(new Date());
orderService.update(order);
return "redirect:list";
}
}

@ -0,0 +1,77 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Category;
import tmall.pojo.Product;
import tmall.pojo.User;
import tmall.util.Pagination;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Controller
@RequestMapping("/admin/product")
public class ProductController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Integer cid, Model model, Pagination pagination) throws Exception {
List<Category> products = productService
.list("cid", cid, "pagination", pagination);
Category category = (Category) categoryService.get(cid);
pagination.setParam("&cid=" + category.getId());
model.addAttribute("products", products);
model.addAttribute("category", category);
return "admin/listProduct";
}
@RequestMapping("add")
public String add(Integer cid, String name, String subTitle,
BigDecimal originalPrice, BigDecimal nowPrice, Integer stock) throws Exception {
Product p = new Product();
p.setCid(cid);
p.setName(name);
p.setSubTitle(subTitle);
p.setOriginalPrice(originalPrice);
p.setNowPrice(nowPrice);
p.setStock(stock);
p.setCommentCount(0);
p.setCreateDate(new Date());
p.setSaleCount(0);
productService.add(p);
return "redirect:list?cid=" + cid;
}
@Auth(User.Group.admin)
@RequestMapping("edit")
public String edit(Integer id, Model model) throws Exception {
Product p = (Product) productService.get(id);
model.addAttribute(p);
return "admin/editProduct";
}
@RequestMapping("update")
public String update(Integer id, String name, String subTitle,
BigDecimal originalPrice, BigDecimal nowPrice, Integer stock) throws Exception {
Product p = (Product) productService.get(id);
p.setName(name);
p.setSubTitle(subTitle);
p.setOriginalPrice(originalPrice);
p.setNowPrice(nowPrice);
p.setStock(stock);
productService.update(p);
return "redirect:list?cid=" + p.getCategory().getId();
}
@RequestMapping("delete")
public String delete(int id) throws Exception {
Product p = (Product) productService.get(id);
productService.delete(p);
return "redirect:list?cid=" + p.getCategory().getId();
}
}

@ -0,0 +1,54 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Product;
import tmall.pojo.ProductImage;
import tmall.pojo.User;
import tmall.util.UploadedImageFile;
import java.util.List;
@Controller
@RequestMapping("/admin/product/image")
public class ProductImageController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Integer pid, Model model) throws Exception {
List<ProductImage> productTopImages = productImageService
.list("pid", pid, "type", ProductImage.Type.top.toString(),"order","id asc");
List<ProductImage> productDetailImages = productImageService
.list("pid", pid, "type", ProductImage.Type.detail.toString(),"order","id asc");
Product product = (Product) productService.get(pid);
model.addAttribute("product", product);
model.addAttribute("productCoverImage", product.getImage());
model.addAttribute("productTopImages", productTopImages);
model.addAttribute("productDetailImages", productDetailImages);
return "admin/listProductImage";
}
@RequestMapping("add")
public String add(Integer pid, String type, UploadedImageFile uploadedImageFile) throws Exception {
ProductImage productImage = new ProductImage();
productImage.setPid(pid);
productImage.setType(type);
productImageService.add(productImage);
fileUtil.saveImg(uploadedImageFile, "product", productImage.getId() + ".jpg");
if (productImage.getType().equals(ProductImage.Type.cover.toString())) {
Product product = (Product) productService.get(pid);
product.setImage(productImage);
productService.update(product);
}
return "redirect:list?pid=" + pid;
}
@RequestMapping("delete")
public String delete(Integer id) throws Exception {
ProductImage productImage = (ProductImage) productImageService.get(id);
productImageService.delete(productImage);
return "redirect:list?pid=" + productImage.getProduct().getId();
}
}

@ -0,0 +1,61 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Category;
import tmall.pojo.Property;
import tmall.pojo.User;
import tmall.util.Pagination;
import java.util.List;
@Controller
@RequestMapping("/admin/property")
public class PropertyController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Integer cid, Model model, Pagination pagination) throws Exception {
List<Category> properties = propertyService
.list("cid",cid);
Category category = (Category) categoryService.get(cid);
model.addAttribute("properties", properties);
model.addAttribute("category",category);
return "admin/listProperties";
}
@RequestMapping("add")
public String add(Integer cid, String name) throws Exception {
Property p = new Property();
p.setCid(cid);
p.setName(name);
propertyService.add(p);
return "redirect:list?cid="+cid;
}
@Auth(User.Group.admin)
@RequestMapping("edit")
public String edit(Integer id, Model model) throws Exception {
Property property = (Property) propertyService.get(id);
model.addAttribute(property);
return "admin/editProperty";
}
@RequestMapping("update")
public String update(Integer id, String name) throws Exception {
Property p = (Property) propertyService.get(id);
p.setName(name);
propertyService.update(p);
return "redirect:list?cid="+p.getCategory().getId();
}
@RequestMapping("delete")
public String delete(Integer id) throws Exception {
Property p = (Property) propertyService.get(id);
propertyService.delete(p);
return "redirect:list?cid="+p.getCategory().getId();
}
}

@ -0,0 +1,33 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Product;
import tmall.pojo.PropertyValue;
import tmall.pojo.User;
import java.util.List;
@Controller
@RequestMapping("/admin/product/propertyValue")
public class PropertyValueController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("edit")
public String edit(Integer pid, Model model) throws Exception {
Product product = (Product) productService.get(pid);
propertyValueService.init(product);
List<PropertyValue> propertyValues = propertyValueService.list("pid", pid);
model.addAttribute("propertyValues", propertyValues);
model.addAttribute("product", product);
return "admin/editPropertyValue";
}
@RequestMapping("update")
public String update(Integer pid, Integer[] id, String[] value) throws Exception {
propertyValueService.update(id, value, "value");
return "redirect:edit?pid=" + pid;
}
}

@ -0,0 +1,16 @@
package tmall.controller.admin;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.User;
@Controller
@RequestMapping("/admin/")
public class RootController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("/")
public String root() {
return "redirect:category/list";
}
}

@ -0,0 +1,29 @@
package tmall.controller.admin;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Auth;
import tmall.pojo.Product;
import tmall.pojo.ProductImage;
import tmall.pojo.User;
import tmall.util.Pagination;
@Controller
@RequestMapping("/admin/user")
public class UserController extends AdminBaseController {
@Auth(User.Group.admin)
@RequestMapping("list")
public String list(Model model, Pagination pagination) throws Exception {
List<User> users = userService.list("pagination", pagination);
model.addAttribute("users", users);
return "admin/listUser";
}
}

@ -0,0 +1,10 @@
package tmall.controller.front;
import tmall.annotation.Auth;
import tmall.controller.BaseController;
import tmall.pojo.User;
@Auth(User.Group.unLogin)
public class FrontBaseController extends BaseController {
}

@ -0,0 +1,285 @@
package tmall.controller.front;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.util.HtmlUtils;
import tmall.annotation.Auth;
import tmall.annotation.Nullable;
import tmall.exception.AuthException;
import tmall.exception.ParameterException;
import tmall.pojo.*;
import tmall.pojo.base.BasePOJO;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Pattern;
import javax.servlet.http.HttpSession;
@Auth(User.Group.user)
@Controller
@RequestMapping("/")
public class OrderFrontController extends FrontBaseController {
@RequestMapping("myOrder")
public String myOrder(HttpSession session, Model model) throws Exception{
User user = (User)session.getAttribute("user");
List<Order> orders = orderService.list("uid", user.getId(), "depth", 3);
model.addAttribute("orders", orders);
return "myOrder";
}
//购物车相关
@RequestMapping("addCart")
public String addCart(Integer pid, Integer num, Model model, HttpSession session) throws Exception {
Product product = (Product) productService.get(pid);
User user = (User) session.getAttribute("user");
String msg;
//获取原来就在购物车的数据
CartItem cartItem = (CartItem) cartItemService
.getOne("uid", user.getId(), "pid", product.getId());
Boolean isInDB = cartItem != null;
//判断是否超出库存
if (isInDB) {
num += cartItem.getNumber();
} else {
cartItem = new CartItem();
cartItem.setProduct(product);
cartItem.setUser(user);
}
if (num > product.getStock()) {
msg = "OutOfStock";
model.addAttribute("msg", msg);
return "msg";
}
cartItem.setNumber(num);
cartItem.setSum(product.getNowPrice().multiply(new BigDecimal(num)));
if (isInDB) {
cartItemService.update(cartItem);
} else {
cartItemService.add(cartItem);
}
msg = "success";
model.addAttribute("msg", msg);
return "msg";
}
@RequestMapping("cart")
public String cart(Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
List<CartItem> cartItems = cartItemService.list("uid", user.getId());
model.addAttribute("cartItems", cartItems);
return "cart";
}
@RequestMapping("changeCartNum")
public String changeCartNum(Integer id, Integer num, Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
CartItem cartItemFromDB = (CartItem) cartItemService.get(id);
String msg = "fail";
checkUser(user, cartItemFromDB.getUser());
if(cartItemFromDB.getProduct().getStock() >= num) {
cartItemFromDB.setNumber(num);
cartItemFromDB.setSum(cartItemFromDB.getProduct().getNowPrice().multiply(new BigDecimal(num)));
cartItemService.update(cartItemFromDB);
msg = "success";
}
model.addAttribute("msg", msg);
return "msg";
}
@RequestMapping("deleteCartItem")
public String deleteCartItem(Integer id,Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
CartItem cartItemFromDB = (CartItem) cartItemService.get(id);
checkUser(user, cartItemFromDB.getUser());
cartItemService.delete(cartItemFromDB);
model.addAttribute("msg", "success");
return "msg";
}
@RequestMapping("cartNumber")
public String cartNumber(Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
int number = cartItemService.list("uid", user.getId()).size();
String msg = String.valueOf(number);
model.addAttribute("msg", msg);
return "msg";
}
@RequestMapping("buyOne")
public String buyOne(Integer pid, Integer num, Model model, HttpSession session) throws Exception {
Product product = (Product) productService.get(pid);
User user = (User) session.getAttribute("user");
CartItem cartItem = new CartItem();
cartItem.setUser(user);
cartItem.setProduct(product);
cartItem.setNumber(num);
cartItem.setSum(product.getNowPrice().multiply(new BigDecimal(num)));
cartItem.setId(-1);
session.setAttribute("tempCartItem", cartItem);
return "redirect:buy?ciid=-1";
}
@RequestMapping("buy")
public String buy(Integer[] ciid, Model model, HttpSession session) throws Exception {
List<CartItem> cartItems = new ArrayList<>();
User user = (User) session.getAttribute("user");
int totalNum = 0;
BigDecimal sum = new BigDecimal(0);
for (Integer id : ciid) {
CartItem cartItem = null;
if (id == -1) {
//由buyOne跳转而来
cartItem = (CartItem) session.getAttribute("tempCartItem");
} else {
//由购物车跳转而来
cartItem = (CartItem) cartItemService.get(id);
}
// 检查
checkUser(user, cartItem.getUser());
totalNum += cartItem.getNumber();
sum = sum.add(cartItem.getSum());
cartItems.add(cartItem);
}
session.setAttribute("cartItems", cartItems);
model.addAttribute("totalNum", totalNum);
model.addAttribute("sum", sum);
return "buy";
}
@RequestMapping("createOrder")
public String createOrder(String adderss, String post, String receiver, String mobile, String userMessage, HttpSession session) throws Exception {
List<CartItem> cartItems = (List<CartItem>) session.getAttribute("cartItems");
User user = (User) session.getAttribute("user");
//简单校验手机号
Pattern pattern = Pattern.compile("1[0-9]{10}");
if(!pattern.matcher(mobile).matches()) {
throw new ParameterException("手机号填写错误");
}
Order order = new Order();
order.setAddress(adderss);
order.setPost(post);
order.setReceiver(receiver);
order.setMobile(mobile);
order.setUserMessage(userMessage);
order.setUser(user);
orderService.createOrder(order, cartItems);
return "redirect:pay?oid=" + order.getId();
}
@RequestMapping("pay")
public String pay(Integer oid, Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
Order order = (Order) orderService.get(oid);
checkUser(user, order.getUser());
model.addAttribute("order", order);
return "pay";
}
@RequestMapping("payed")
public String payed(Integer oid, Model model, HttpSession session) throws Exception {
User user = (User) session.getAttribute("user");
Order order = (Order) orderService.get(oid);
checkUser(user, order.getUser());
order.setStatus(Order.Status.waitDeliver);
order.setPayDate(new Date());
orderService.update(order);
model.addAttribute("order", order);
return "payed";
}
@RequestMapping("confirmPay")
public String confirmPay(Integer oid, Model model, HttpSession session) throws Exception {
Order order = (Order) orderService.get(oid);
User user = (User) session.getAttribute("user");
checkUser(user, order.getUser());
model.addAttribute("order", order);
return "confirmPay";
}
@RequestMapping("confirmed")
public String confirmed(Integer oid, Model model, HttpSession session) throws Exception {
Order order = (Order) orderService.get(oid);
User user = (User) session.getAttribute("user");
checkUser(user, order.getUser());
order.setStatus(Order.Status.waitComment);
order.setConfirmDate(new Date());
orderService.update(order);
model.addAttribute("order", order);
return "confirmed";
}
@RequestMapping("comment")
public String comment(Integer oiid, Model model, HttpSession session) throws Exception {
OrderItem orderItem = (OrderItem)orderItemService.get(oiid);
User user = (User) session.getAttribute("user");
checkUser(user, orderItem.getOrder().getUser());
model.addAttribute("orderItem", orderItem);
return "comment";
}
@RequestMapping("addComment")
public String addComment(Integer oiid, Comment comment, Model model, HttpSession session) throws Exception {
OrderItem orderItem = (OrderItem) orderItemService.get(oiid);
User user = (User) session.getAttribute("user");
checkUser(user, orderItem.getOrder().getUser());
comment.setProduct(orderItem.getProduct());
comment.setUser(user);
comment.setCreateDate(new Date());
commentService.add(comment);
orderItem.setComment(comment);
orderItemService.update(orderItem);
Product product = orderItem.getProduct();
product.setCommentCount(product.getCommentCount() + 1);
productService.update(product);
Order orderNew = (Order) orderService.get(orderItem.getOrder().getId());
if(commentService.checkFinishComment(orderNew)) {
orderNew.setStatus(Order.Status.finish);
orderService.update(orderNew);
}
return "redirect:myOrder";
}
@RequestMapping("deleteOrder")
public String deleteOrder(Integer oid, Model model, HttpSession session) throws Exception {
Order order = (Order)orderService.get(oid);
User user = (User)session.getAttribute("user");
checkUser(user, order.getUser());
String msg = "success";
model.addAttribute("msg", msg);
return "msg";
}
private void checkUser(User user1, User user2) throws AuthException {
if (!user1.getId().equals(user2.getId())) {
throw new AuthException("非法访问,没有权限");
}
}
}

@ -0,0 +1,97 @@
package tmall.controller.front;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import tmall.annotation.Nullable;
import tmall.pojo.*;
import tmall.util.Pagination;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Controller
@RequestMapping("/")
public class ShowController extends FrontBaseController {
@RequestMapping("")
public String home(Model model) throws Exception {
Pagination pagination = new Pagination();
pagination.setCount(13);
List<Category> categories = categoryService.
list("depth",1,"pagination",pagination,"recommend_gt",0, "order", "recommend desc, id desc");
for(Category category:categories){
category.setProducts(productService
.list("cid",category.getId(),"stock_gt",0));
}
model.addAttribute("categories",categories);
return "home";
}
@RequestMapping("product")
public String product(Integer id, Model model) throws Exception {
Product product = (Product) productService.get(id);
List<ProductImage> productTopImages = productImageService.list("pid",product.getId(),"type", ProductImage.Type.top.toString(),"order","id asc");
List<ProductImage> productDetailImages = productImageService.list("pid",product.getId(),"type", ProductImage.Type.detail.toString(),"order","id asc");
List<Comment> comments = commentService.list("pid",product.getId());
List<PropertyValue> propertyValues = propertyValueService.list("pid",product.getId());
model.addAttribute("productTopImages",productTopImages);
model.addAttribute("productDetailImages",productDetailImages);
model.addAttribute("comments",comments);
model.addAttribute("propertyValues",propertyValues);
model.addAttribute("product",product);
return "product";
}
@RequestMapping("category")
public String category(Integer id, @Nullable String sort, Model model) throws Exception {
Category category = (Category) categoryService.get(id);
List<Product> products = productService
.list("cid",category.getId(),"order",handleSort(sort),"stock_gt",0);
model.addAttribute("products",products);
model.addAttribute("category",category);
return "category";
}
@RequestMapping("search")
public String search(String keyword, @Nullable String sort, Model model) throws Exception {
if(keyword.length()==0) {
return "search";
}
Set<Product> set = new HashSet<Product>();
List<Product> products1 = productService
.list("name_like",keyword,"order",handleSort(sort),"stock_gt",0);
List<Product> products2 = productService
.list("subTitle_like",keyword,"order",handleSort(sort),"stock_gt",0);
set.addAll(products1);
set.addAll(products2);
model.addAttribute("products",set);
model.addAttribute("keyword",keyword);
return "search";
}
private String handleSort(String sort){
sort = sort==null?"":sort;
String column = "";
String order = "desc";
switch(sort){
case "date":
column = "createDate";
break;
case "comment":
column = "commentCount";
break;
case "saleCount":
column = "saleCount";
break;
case "price":
column = "nowPrice";
order = "asc";
break;
case "priceInverse":
column = "nowPrice";
break;
default:
column = "commentCount";
break;
}
String res = String.format("%s %s , id desc",column,order);
return res;
}
}

@ -0,0 +1,82 @@
package tmall.controller.front;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.util.HtmlUtils;
import tmall.annotation.Auth;
import tmall.annotation.Nullable;
import tmall.pojo.*;
import javax.servlet.http.HttpSession;
@Controller
@RequestMapping("/")
public class UserFrontController extends FrontBaseController {
@RequestMapping("register")
public String register(){
return "register";
}
@RequestMapping("registerAdd")
public String registerAdd(String name ,String password , Model model) throws Exception {
String msg = null;
if(!HtmlUtils.htmlEscape(name).equals(name)){
msg = "用户名含有特殊字符,无法注册,请重新输入";
}
if(userService.isExist(name)){
msg = "用户名已存在,无法注册,请重新输入";
}
if (msg != null ) {
model.addAttribute("msg",msg);
return "register";
}
User user = new User();
user.setName(name);
user.setPassword(password);
user.setGroup(User.Group.user);
userService.add(user);
return "registerSuccess";
}
@RequestMapping("login")
public String login(@Nullable String refer, Model model, HttpSession session)
{
if (refer != null) {
model.addAttribute("refer",refer);
}
if (session.getAttribute("user") != null ){
return "redirect:/";
}
return "login";
}
@RequestMapping("loginIn")
public String loginIn(String name ,String password , Model model, HttpSession session,String refer){
User userFromDB = userService.get(name,password);
if(userFromDB == null){
String msg = "用户名密码错误,请重试";
model.addAttribute("msg",msg);
return "login";
}
session.setAttribute("user",userFromDB);
return "redirect:"+refer;
}
@RequestMapping("logout")
public String logout(@Nullable String refer,HttpSession session){
session.removeAttribute("user");
return "redirect:"+refer;
}
@RequestMapping("checkLogin")
public String checkLogin(Model model,HttpSession session){
String msg = session.getAttribute("user")!=null?"success":"fail";
model.addAttribute("msg",msg);
return "msg";
}
@Auth(User.Group.unLogin)
@RequestMapping("noAuth")
public String noAuth(Model model){
String msg = "没有权限访问此页面";
model.addAttribute("msg",msg);
return "msg";
}
}

@ -0,0 +1,8 @@
package tmall.exception;
public class AuthException extends Exception {
public AuthException(String msg) {
super(msg);
}
}

@ -0,0 +1,8 @@
package tmall.exception;
public class ParameterException extends Exception {
public ParameterException(String msg) {
super(msg);
}
}

@ -0,0 +1,55 @@
package tmall.interceptor;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import tmall.annotation.Auth;
import tmall.exception.AuthException;
import tmall.pojo.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 0unLogin
*
* unLogin(0) user(1) admin(2) superAdmin(3)
* @Auth() value访
*/
public class AuthInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
if (!(o instanceof HandlerMethod)) {
return true;
}
HandlerMethod handler = (HandlerMethod) o;
//获取访问页面的权限
//获取方法上的注解
Auth authInMethod = ((HandlerMethod) handler).getMethodAnnotation(Auth.class);
//获取类上的注解
Auth authInClass = ((HandlerMethod) handler).getBean().getClass().getAnnotation(Auth.class);
//获取Enum方法的ordinal根据大小来确定该页面权限
int pageRate = authInClass == null ? 0 : authInClass.value().ordinal();
pageRate = authInMethod == null ? pageRate : authInMethod.value().ordinal();
//获取用户的权限
int userRate = 0;
User user = (User) request.getSession().getAttribute("user");
if (user != null) {
userRate = user.getGroup().ordinal();
}
//根据权限决定是否放行
if (pageRate > userRate) {
if (userRate == 0) {
response.sendRedirect("/login?refer=/");
return false;
}
throw new AuthException("您已登录,但是没有权限访问这里");
}
return true;
}
}

@ -0,0 +1,39 @@
package tmall.interceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import tmall.pojo.Category;
import tmall.service.CategoryService;
import tmall.service.ConfigService;
import tmall.util.Pagination;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
*
*/
@Component
public class CategoryNamesBelowSearchInterceptor extends HandlerInterceptorAdapter {
@Autowired
CategoryService categoryService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse httpServletResponse, Object o) throws Exception {
if (!(o instanceof HandlerMethod)) {
return true;
}
if (request.getServletContext().getAttribute("cs") != null) {
return true;
}
Pagination pagination = new Pagination();
pagination.setCount(7);
List<Category> cs = categoryService
.list("depth", 1, "pagination", pagination, "recommend_gt", 0);
request.getServletContext().setAttribute("cs", cs);
return true;
}
}

@ -0,0 +1,35 @@
package tmall.interceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import tmall.service.ConfigService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
*
*/
@Component
public class ConfigInterceptor extends HandlerInterceptorAdapter {
@Autowired
ConfigService configService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse httpServletResponse, Object o) throws Exception {
if (!(o instanceof HandlerMethod)) {
return true;
}
Map<String, String> config = configService.map();
request.getServletContext().setAttribute("SEOTitle", config.get("index_title"));
request.getServletContext().setAttribute("keywords", config.get("index_keyword"));
request.getServletContext().setAttribute("description", config.get("index_description"));
request.getServletContext().setAttribute("website_name", config.get("website_name"));
request.getServletContext().setAttribute("productImgDir", config.get("path_product_img"));
request.getServletContext().setAttribute("categoryImgDir", config.get("path_category_img"));
return true;
}
}

@ -0,0 +1,11 @@
package tmall.mapper;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper Mybatis-generator 使 Mapper Mapper
* p : pojo e: example
*/
@Mapper
public interface BaseMapper<P,E> {
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.CartItem;
import tmall.pojo.CartItemExample;
@Mapper
public interface CartItemMapper extends BaseMapper<CartItem, CartItemExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
int insert(CartItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
int insertSelective(CartItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
List<CartItem> selectByExample(CartItemExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
CartItem selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(CartItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
int updateByPrimaryKey(CartItem record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Category;
import tmall.pojo.CategoryExample;
@Mapper
public interface CategoryMapper extends BaseMapper<Category, CategoryExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
int insert(Category record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
int insertSelective(Category record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
List<Category> selectByExample(CategoryExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
Category selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Category record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
int updateByPrimaryKey(Category record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Comment;
import tmall.pojo.CommentExample;
@Mapper
public interface CommentMapper extends BaseMapper<Comment, CommentExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
int insert(Comment record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
int insertSelective(Comment record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
List<Comment> selectByExample(CommentExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
Comment selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Comment record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
int updateByPrimaryKey(Comment record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Config;
import tmall.pojo.ConfigExample;
@Mapper
public interface ConfigMapper extends BaseMapper<Config, ConfigExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
int insert(Config record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
int insertSelective(Config record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
List<Config> selectByExample(ConfigExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
Config selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Config record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
int updateByPrimaryKey(Config record);
}

@ -0,0 +1,58 @@
package tmall.mapper.ORM;
import java.util.List;
/**
* Mapper | mapper 使
*/
@SuppressWarnings("unchecked")
public class Mapper extends Mapper4ORM {
private int defaultTraversalDepth = 2;
public Object selectByPrimaryKey(Integer id) throws Exception {
return selectByPrimaryKey(id, defaultTraversalDepth);
}
public Object selectByPrimaryKey(Integer id, Integer depth) throws Exception {
Object object = mapper.getClass().getMethod("selectByPrimaryKey", Integer.class).invoke(mapper, id);
fillOnReading(object, depth);
return object;
}
public int insert(Object object) throws Exception {
fillOnWriting(object);
return (int) mapper.getClass().getMethod("insert", object.getClass()).invoke(mapper, object);
}
public int insertSelective(Object object) throws Exception {
fillOnWriting(object);
return (int) mapper.getClass().getMethod("insertSelective", Object.class).invoke(mapper, object);
}
public int updateByPrimaryKeySelective(Object object) throws Exception {
fillOnWriting(object);
return (int) mapper.getClass().
getMethod("updateByPrimaryKeySelective", object.getClass()).invoke(mapper, object);
}
public int updateByPrimaryKey(Object object) throws Exception {
fillOnWriting(object);
return (int) mapper.getClass().getMethod("updateByPrimaryKey", object.getClass()).invoke(mapper, object);
}
public List selectByExample(Object example) throws Exception {
return selectByExample(example, defaultTraversalDepth);
}
public List selectByExample(Object example, int depth) throws Exception {
List result = (List) mapper.getClass().getMethod("selectByExample", example.getClass()).invoke(mapper, example);
for (int i = 0; i < result.size(); i++) {
Object item = result.get(i);
fillOnReading(item, depth);
result.set(i, item);
}
return result;
}
}

@ -0,0 +1,300 @@
package tmall.mapper.ORM;
import org.apache.commons.lang3.StringUtils;
import org.mybatis.spring.SqlSessionTemplate;
import tmall.pojo.base.BaseExample;
import tmall.annotation.ORMAnnotation.Enumerated;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
import tmall.annotation.ORMAnnotation.OneToMany;
import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Mapper |
*/
@SuppressWarnings("unchecked")
public class Mapper4ORM {
Object mapper;
private Class mapperInterface;
private SqlSessionTemplate sqlSessionTemplate;
void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
this.sqlSessionTemplate = sqlSessionTemplate;
}
void setMybatisMapper(Class mapperInterface) throws Exception {
this.mapperInterface = mapperInterface;
mapper = getMapper(mapperInterface);
}
public Object getMapper(Class mapperInterface) throws Exception {
return sqlSessionTemplate.getMapper(mapperInterface);
}
public BaseExample getExample(Class mapperInterface) throws Exception {
ParameterizedType t = (ParameterizedType) mapperInterface.getGenericInterfaces()[0];
Class exampleClass = (Class) t.getActualTypeArguments()[1];
return (BaseExample) exampleClass.newInstance();
}
public Class getMapperInterfaceByPOJO(Class POJOClass) throws Exception {
ParameterizedType t = (ParameterizedType) POJOClass.getGenericInterfaces()[0];
return (Class) t.getActualTypeArguments()[0];
}
/**
* annotation Filed
*
* @param objectClass
* @param annotationClass annotation
* @return Filed
*/
List<Field> getFieldsEquals(Class objectClass, Class annotationClass) {
if (objectClass == null) {
return null;
}
List<Field> fields = new ArrayList<>();
for (Class temp = objectClass; temp != Object.class; temp = temp.getSuperclass()) {
fields.addAll(Arrays.asList(temp.getDeclaredFields()));
}
List<Field> result = new ArrayList<>();
for (Field field : fields) {
if (field.getAnnotation(annotationClass) != null)
result.add(field);
}
return result;
}
/**
*
*
* @param object
* @param depth
* @throws Exception
*/
public void fillManyToOneOnReading(Object object, int depth) throws Exception {
if (object == null) {
return;
}
Class clazz = object.getClass();
// 获取所有 ManyToOne注解的Filed
List<Field> result = getFieldsEquals(clazz, ManyToOne.class);
for (Field field : result) {
//获取外键的表名
String joinColumn = field.getAnnotation(JoinColumn.class).name();
//获取要填充对象的mapper
Class targetMapperClass = getMapperInterfaceByPOJO(field.getType());
Object targetMapper = getMapper(targetMapperClass);
//获取外键值
Integer joinColumnValue = (Integer) clazz.
getMethod("get" + StringUtils.capitalize(joinColumn)).invoke(object);
if (joinColumnValue == null) {
continue;
}
//配置查询器example
BaseExample example = getExample(targetMapperClass);
Object criteria = example.createCriteria();
// 配置criteria
criteria.getClass().getMethod("andIdEqualTo", Integer.class).invoke(criteria, joinColumnValue);
//查询,获取结果列表
List targetResults = (List) targetMapper.getClass().getMethod("selectByExample", example.getClass()).
invoke(targetMapper, example);
//判断是否为空 ,不为空插入 filed
if (targetResults.size() > 0) {
Object targetResult = targetResults.get(0);
fillOnReading(targetResult, depth - 1);
clazz.getMethod("set" + StringUtils.capitalize(field.getName()), targetResult.getClass())
.invoke(object, targetResult);
}
}
}
/**
*
*
* @param object
* @param depth
* @throws Exception
*/
public void fillOneToManyOnReading(Object object, int depth) throws Exception {
if (object == null) {
return;
}
Class clazz = object.getClass();
// 获取所有 ManyToOne注解的Filed
List<Field> result = getFieldsEquals(clazz, OneToMany.class);
for (Field field : result) {
//获取外键的表名
String joinColumn = field.getAnnotation(JoinColumn.class).name();
//得到其Generic的类型
Type genericType = field.getGenericType();
ParameterizedType pt = (ParameterizedType) genericType;
//得到List泛型里的目标类型对象
Class targetClass = (Class) pt.getActualTypeArguments()[0];
//获取要填充对象的mapper
Class targetMapperClass = getMapperInterfaceByPOJO(targetClass);
Object targetMapper = getMapper(targetMapperClass);
//获取外键值
Integer joinColumnValue = (Integer) clazz.
getMethod("getId").invoke(object);
//配置查询器example
BaseExample example = getExample(targetMapperClass);
Object criteria = example.createCriteria();
// 配置criteria
criteria.getClass().getMethod("and" + StringUtils.capitalize(joinColumn) + "EqualTo", Integer.class).invoke(criteria, joinColumnValue);
//查询,获取结果列表
List targetResults = (List) targetMapper.getClass().getMethod("selectByExample", example.getClass()).
invoke(targetMapper, example);
for (int i = 0; i < targetResults.size(); i++) {
Object item = targetResults.get(i);
fillOnReading(item, depth - 1);
targetResults.set(i, item);
}
//插入 filed
clazz.getMethod("set" + StringUtils.capitalize(field.getName()), List.class)
.invoke(object, targetResults);
}
}
/**
* Enum
*
* @param object
* @throws Exception
*/
public void fillEnumOnReading(Object object) throws Exception {
if (object == null) {
return;
}
Class clazz = object.getClass();
// 获取所有 ManyToOne注解的Filed
List<Field> result = getFieldsEquals(clazz, Enumerated.class);
for (Field field : result) {
//获取Enum对应的String类型的变量名
String varName = field.getAnnotation(Enumerated.class).var();
//获取值
String enumString = (String) clazz.
getMethod("get" + StringUtils.capitalize(varName)).invoke(object);
// 转成Enum插回 filed
Enum resultObj = Enum.valueOf((Class<Enum>) field.getType(), enumString);
clazz.getMethod("set" + StringUtils.capitalize(field.getName()), resultObj.getClass())
.invoke(object, resultObj);
}
}
/**
* Enum
*
* @param object
* @throws Exception
*/
public void fillEnumOnWriting(Object object) throws Exception {
if (object == null) {
return;
}
Class clazz = object.getClass();
// 获取所有 ManyToOne注解的Filed
List<Field> result = getFieldsEquals(clazz, Enumerated.class);
for (Field field : result) {
//获取Enum对应的String类型的变量名
String varName = field.getAnnotation(Enumerated.class).var();
//获取 Enum
Enum enumObj = (Enum) clazz.
getMethod("get" + StringUtils.capitalize(field.getName())).invoke(object);
// 转成 String插回 varName
String enumString = enumObj.name();
clazz.getMethod("set" + StringUtils.capitalize(varName), String.class)
.invoke(object, enumString);
}
}
/**
* ManyToOne
*
* @param object
* @throws Exception
*/
public void fillManyToOneOnWriting(Object object) throws Exception {
if (object == null) {
return;
}
Class clazz = object.getClass();
// 获取所有 ManyToOne注解的Filed
List<Field> result = getFieldsEquals(clazz, ManyToOne.class);
for (Field field : result) {
//获取One端的变量名
String columnName = field.getAnnotation(JoinColumn.class).name();
//获取One的对象
Object targetObj = clazz
.getMethod("get" + StringUtils.capitalize(field.getName()))
.invoke(object);
if (targetObj == null) {
continue;
}
//获取 获取 id 值
int id = (int) targetObj.getClass().
getMethod("getId").invoke(targetObj);
// 插回 columnName
clazz.getMethod("set" + StringUtils.capitalize(columnName), Integer.class)
.invoke(object, id);
}
}
/**
*
* @param object
* @param depth
* @throws Exception
*/
public void fillOnReading(Object object, int depth) throws Exception {
if (object == null) {
return;
}
if (depth <= 0) {
return;
}
// 处理 ManyToOne
fillManyToOneOnReading(object, depth);
// 处理 OneToMany
fillOneToManyOnReading(object, depth);
// 处理 Enumerated
fillEnumOnReading(object);
}
/**
*
* @param object
* @throws Exception
*/
public void fillOnWriting(Object object) throws Exception {
if (object == null) {
return;
}
// 处理 Enumerated
fillEnumOnWriting(object);
// 处理 ManyToOne
fillManyToOneOnWriting(object);
}
}

@ -0,0 +1,24 @@
package tmall.mapper.ORM;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Mapper | Service mapper mapper
*/
@Component
public class MapperFactory {
@Resource
private SqlSessionTemplate sqlSessionTemplate;
@SuppressWarnings("unchecked")
public Mapper getMapper(Class mapperInterface) throws Exception {
Mapper mapper = new Mapper();
mapper.setSqlSessionTemplate(sqlSessionTemplate);
mapper.setMybatisMapper(mapperInterface);
return mapper;
}
}

@ -0,0 +1,66 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.OrderItem;
import tmall.pojo.OrderItemExample;
@Mapper
public interface OrderItemMapper extends BaseMapper<OrderItem, OrderItemExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
int insert(OrderItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
int insertSelective(OrderItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
List<OrderItem> selectByExample(OrderItemExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
OrderItem selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(OrderItem record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
int updateByPrimaryKey(OrderItem record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Order;
import tmall.pojo.OrderExample;
@Mapper
public interface OrderMapper extends BaseMapper<Order, OrderExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
int insert(Order record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
int insertSelective(Order record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
List<Order> selectByExample(OrderExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
Order selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Order record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table order_
*
* @mbg.generated
*/
int updateByPrimaryKey(Order record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.ProductImage;
import tmall.pojo.ProductImageExample;
@Mapper
public interface ProductImageMapper extends BaseMapper<ProductImage, ProductImageExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
int insert(ProductImage record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
int insertSelective(ProductImage record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
List<ProductImage> selectByExample(ProductImageExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
ProductImage selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(ProductImage record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
int updateByPrimaryKey(ProductImage record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Product;
import tmall.pojo.ProductExample;
@Mapper
public interface ProductMapper extends BaseMapper<Product, ProductExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
int insert(Product record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
int insertSelective(Product record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
List<Product> selectByExample(ProductExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
Product selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Product record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product
*
* @mbg.generated
*/
int updateByPrimaryKey(Product record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.Property;
import tmall.pojo.PropertyExample;
@Mapper
public interface PropertyMapper extends BaseMapper<Property, PropertyExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
int insert(Property record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
int insertSelective(Property record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
List<Property> selectByExample(PropertyExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
Property selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(Property record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
int updateByPrimaryKey(Property record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.PropertyValue;
import tmall.pojo.PropertyValueExample;
@Mapper
public interface PropertyValueMapper extends BaseMapper<PropertyValue, PropertyValueExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
int insert(PropertyValue record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
int insertSelective(PropertyValue record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
List<PropertyValue> selectByExample(PropertyValueExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
PropertyValue selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(PropertyValue record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
int updateByPrimaryKey(PropertyValue record);
}

@ -0,0 +1,67 @@
package tmall.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import tmall.pojo.User;
import tmall.pojo.UserExample;
@Mapper
public interface UserMapper extends BaseMapper<User, UserExample> {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
int insert(User record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
int insertSelective(User record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
List<User> selectByExample(UserExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
User selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(User record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
int updateByPrimaryKey(User record);
}

@ -0,0 +1,139 @@
package tmall.pojo;
import java.math.BigDecimal;
import tmall.mapper.CartItemMapper;
import tmall.pojo.extension.CartItemExtension;
public class CartItem extends CartItemExtension implements tmall.pojo.ORM.POJOMapper<CartItemMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column cartitem.uid
*
* @mbg.generated
*/
private Integer uid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column cartitem.pid
*
* @mbg.generated
*/
private Integer pid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column cartitem.number
*
* @mbg.generated
*/
private Integer number;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column cartitem.sum
*
* @mbg.generated
*/
private BigDecimal sum;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column cartitem.uid
*
* @return the value of cartitem.uid
*
* @mbg.generated
*/
public Integer getUid() {
return uid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column cartitem.uid
*
* @param uid the value for cartitem.uid
*
* @mbg.generated
*/
public void setUid(Integer uid) {
this.uid = uid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column cartitem.pid
*
* @return the value of cartitem.pid
*
* @mbg.generated
*/
public Integer getPid() {
return pid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column cartitem.pid
*
* @param pid the value for cartitem.pid
*
* @mbg.generated
*/
public void setPid(Integer pid) {
this.pid = pid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column cartitem.number
*
* @return the value of cartitem.number
*
* @mbg.generated
*/
public Integer getNumber() {
return number;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column cartitem.number
*
* @param number the value for cartitem.number
*
* @mbg.generated
*/
public void setNumber(Integer number) {
this.number = number;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column cartitem.sum
*
* @return the value of cartitem.sum
*
* @mbg.generated
*/
public BigDecimal getSum() {
return sum;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column cartitem.sum
*
* @param sum the value for cartitem.sum
*
* @mbg.generated
*/
public void setSum(BigDecimal sum) {
this.sum = sum;
}
}

@ -0,0 +1,665 @@
package tmall.pojo;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class CartItemExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table cartitem
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table cartitem
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table cartitem
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public CartItemExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table cartitem
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table cartitem
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andUidIsNull() {
addCriterion("uid is null");
return (Criteria) this;
}
public Criteria andUidIsNotNull() {
addCriterion("uid is not null");
return (Criteria) this;
}
public Criteria andUidEqualTo(Integer value) {
addCriterion("uid =", value, "uid");
return (Criteria) this;
}
public Criteria andUidNotEqualTo(Integer value) {
addCriterion("uid <>", value, "uid");
return (Criteria) this;
}
public Criteria andUidGreaterThan(Integer value) {
addCriterion("uid >", value, "uid");
return (Criteria) this;
}
public Criteria andUidGreaterThanOrEqualTo(Integer value) {
addCriterion("uid >=", value, "uid");
return (Criteria) this;
}
public Criteria andUidLessThan(Integer value) {
addCriterion("uid <", value, "uid");
return (Criteria) this;
}
public Criteria andUidLessThanOrEqualTo(Integer value) {
addCriterion("uid <=", value, "uid");
return (Criteria) this;
}
public Criteria andUidIn(List<Integer> values) {
addCriterion("uid in", values, "uid");
return (Criteria) this;
}
public Criteria andUidNotIn(List<Integer> values) {
addCriterion("uid not in", values, "uid");
return (Criteria) this;
}
public Criteria andUidBetween(Integer value1, Integer value2) {
addCriterion("uid between", value1, value2, "uid");
return (Criteria) this;
}
public Criteria andUidNotBetween(Integer value1, Integer value2) {
addCriterion("uid not between", value1, value2, "uid");
return (Criteria) this;
}
public Criteria andPidIsNull() {
addCriterion("pid is null");
return (Criteria) this;
}
public Criteria andPidIsNotNull() {
addCriterion("pid is not null");
return (Criteria) this;
}
public Criteria andPidEqualTo(Integer value) {
addCriterion("pid =", value, "pid");
return (Criteria) this;
}
public Criteria andPidNotEqualTo(Integer value) {
addCriterion("pid <>", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThan(Integer value) {
addCriterion("pid >", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThanOrEqualTo(Integer value) {
addCriterion("pid >=", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThan(Integer value) {
addCriterion("pid <", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThanOrEqualTo(Integer value) {
addCriterion("pid <=", value, "pid");
return (Criteria) this;
}
public Criteria andPidIn(List<Integer> values) {
addCriterion("pid in", values, "pid");
return (Criteria) this;
}
public Criteria andPidNotIn(List<Integer> values) {
addCriterion("pid not in", values, "pid");
return (Criteria) this;
}
public Criteria andPidBetween(Integer value1, Integer value2) {
addCriterion("pid between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPidNotBetween(Integer value1, Integer value2) {
addCriterion("pid not between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andNumberIsNull() {
addCriterion("number is null");
return (Criteria) this;
}
public Criteria andNumberIsNotNull() {
addCriterion("number is not null");
return (Criteria) this;
}
public Criteria andNumberEqualTo(Integer value) {
addCriterion("number =", value, "number");
return (Criteria) this;
}
public Criteria andNumberNotEqualTo(Integer value) {
addCriterion("number <>", value, "number");
return (Criteria) this;
}
public Criteria andNumberGreaterThan(Integer value) {
addCriterion("number >", value, "number");
return (Criteria) this;
}
public Criteria andNumberGreaterThanOrEqualTo(Integer value) {
addCriterion("number >=", value, "number");
return (Criteria) this;
}
public Criteria andNumberLessThan(Integer value) {
addCriterion("number <", value, "number");
return (Criteria) this;
}
public Criteria andNumberLessThanOrEqualTo(Integer value) {
addCriterion("number <=", value, "number");
return (Criteria) this;
}
public Criteria andNumberIn(List<Integer> values) {
addCriterion("number in", values, "number");
return (Criteria) this;
}
public Criteria andNumberNotIn(List<Integer> values) {
addCriterion("number not in", values, "number");
return (Criteria) this;
}
public Criteria andNumberBetween(Integer value1, Integer value2) {
addCriterion("number between", value1, value2, "number");
return (Criteria) this;
}
public Criteria andNumberNotBetween(Integer value1, Integer value2) {
addCriterion("number not between", value1, value2, "number");
return (Criteria) this;
}
public Criteria andSumIsNull() {
addCriterion("sum is null");
return (Criteria) this;
}
public Criteria andSumIsNotNull() {
addCriterion("sum is not null");
return (Criteria) this;
}
public Criteria andSumEqualTo(BigDecimal value) {
addCriterion("sum =", value, "sum");
return (Criteria) this;
}
public Criteria andSumNotEqualTo(BigDecimal value) {
addCriterion("sum <>", value, "sum");
return (Criteria) this;
}
public Criteria andSumGreaterThan(BigDecimal value) {
addCriterion("sum >", value, "sum");
return (Criteria) this;
}
public Criteria andSumGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("sum >=", value, "sum");
return (Criteria) this;
}
public Criteria andSumLessThan(BigDecimal value) {
addCriterion("sum <", value, "sum");
return (Criteria) this;
}
public Criteria andSumLessThanOrEqualTo(BigDecimal value) {
addCriterion("sum <=", value, "sum");
return (Criteria) this;
}
public Criteria andSumIn(List<BigDecimal> values) {
addCriterion("sum in", values, "sum");
return (Criteria) this;
}
public Criteria andSumNotIn(List<BigDecimal> values) {
addCriterion("sum not in", values, "sum");
return (Criteria) this;
}
public Criteria andSumBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("sum between", value1, value2, "sum");
return (Criteria) this;
}
public Criteria andSumNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("sum not between", value1, value2, "sum");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table cartitem
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table cartitem
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,72 @@
package tmall.pojo;
import tmall.mapper.CategoryMapper;
import tmall.pojo.extension.CategoryExtension;
public class Category extends CategoryExtension implements tmall.pojo.ORM.POJOMapper<CategoryMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column category.name
*
* @mbg.generated
*/
private String name;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column category.recommend
*
* @mbg.generated
*/
private Integer recommend;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column category.name
*
* @return the value of category.name
*
* @mbg.generated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column category.name
*
* @param name the value for category.name
*
* @mbg.generated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column category.recommend
*
* @return the value of category.recommend
*
* @mbg.generated
*/
public Integer getRecommend() {
return recommend;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column category.recommend
*
* @param recommend the value for category.recommend
*
* @mbg.generated
*/
public void setRecommend(Integer recommend) {
this.recommend = recommend;
}
}

@ -0,0 +1,554 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class CategoryExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table category
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table category
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table category
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public CategoryExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table category
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table category
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andRecommendIsNull() {
addCriterion("recommend is null");
return (Criteria) this;
}
public Criteria andRecommendIsNotNull() {
addCriterion("recommend is not null");
return (Criteria) this;
}
public Criteria andRecommendEqualTo(Integer value) {
addCriterion("recommend =", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendNotEqualTo(Integer value) {
addCriterion("recommend <>", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendGreaterThan(Integer value) {
addCriterion("recommend >", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendGreaterThanOrEqualTo(Integer value) {
addCriterion("recommend >=", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendLessThan(Integer value) {
addCriterion("recommend <", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendLessThanOrEqualTo(Integer value) {
addCriterion("recommend <=", value, "recommend");
return (Criteria) this;
}
public Criteria andRecommendIn(List<Integer> values) {
addCriterion("recommend in", values, "recommend");
return (Criteria) this;
}
public Criteria andRecommendNotIn(List<Integer> values) {
addCriterion("recommend not in", values, "recommend");
return (Criteria) this;
}
public Criteria andRecommendBetween(Integer value1, Integer value2) {
addCriterion("recommend between", value1, value2, "recommend");
return (Criteria) this;
}
public Criteria andRecommendNotBetween(Integer value1, Integer value2) {
addCriterion("recommend not between", value1, value2, "recommend");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table category
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table category
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,139 @@
package tmall.pojo;
import java.util.Date;
import tmall.mapper.CommentMapper;
import tmall.pojo.extension.CommentExtension;
public class Comment extends CommentExtension implements tmall.pojo.ORM.POJOMapper<CommentMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column comment.pid
*
* @mbg.generated
*/
private Integer pid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column comment.uid
*
* @mbg.generated
*/
private Integer uid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column comment.content
*
* @mbg.generated
*/
private String content;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column comment.createDate
*
* @mbg.generated
*/
private Date createDate;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column comment.pid
*
* @return the value of comment.pid
*
* @mbg.generated
*/
public Integer getPid() {
return pid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column comment.pid
*
* @param pid the value for comment.pid
*
* @mbg.generated
*/
public void setPid(Integer pid) {
this.pid = pid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column comment.uid
*
* @return the value of comment.uid
*
* @mbg.generated
*/
public Integer getUid() {
return uid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column comment.uid
*
* @param uid the value for comment.uid
*
* @mbg.generated
*/
public void setUid(Integer uid) {
this.uid = uid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column comment.content
*
* @return the value of comment.content
*
* @mbg.generated
*/
public String getContent() {
return content;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column comment.content
*
* @param content the value for comment.content
*
* @mbg.generated
*/
public void setContent(String content) {
this.content = content == null ? null : content.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column comment.createDate
*
* @return the value of comment.createDate
*
* @mbg.generated
*/
public Date getCreateDate() {
return createDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column comment.createDate
*
* @param createDate the value for comment.createDate
*
* @mbg.generated
*/
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}

@ -0,0 +1,674 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class CommentExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table comment
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table comment
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table comment
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public CommentExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table comment
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table comment
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andPidIsNull() {
addCriterion("pid is null");
return (Criteria) this;
}
public Criteria andPidIsNotNull() {
addCriterion("pid is not null");
return (Criteria) this;
}
public Criteria andPidEqualTo(Integer value) {
addCriterion("pid =", value, "pid");
return (Criteria) this;
}
public Criteria andPidNotEqualTo(Integer value) {
addCriterion("pid <>", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThan(Integer value) {
addCriterion("pid >", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThanOrEqualTo(Integer value) {
addCriterion("pid >=", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThan(Integer value) {
addCriterion("pid <", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThanOrEqualTo(Integer value) {
addCriterion("pid <=", value, "pid");
return (Criteria) this;
}
public Criteria andPidIn(List<Integer> values) {
addCriterion("pid in", values, "pid");
return (Criteria) this;
}
public Criteria andPidNotIn(List<Integer> values) {
addCriterion("pid not in", values, "pid");
return (Criteria) this;
}
public Criteria andPidBetween(Integer value1, Integer value2) {
addCriterion("pid between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPidNotBetween(Integer value1, Integer value2) {
addCriterion("pid not between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andUidIsNull() {
addCriterion("uid is null");
return (Criteria) this;
}
public Criteria andUidIsNotNull() {
addCriterion("uid is not null");
return (Criteria) this;
}
public Criteria andUidEqualTo(Integer value) {
addCriterion("uid =", value, "uid");
return (Criteria) this;
}
public Criteria andUidNotEqualTo(Integer value) {
addCriterion("uid <>", value, "uid");
return (Criteria) this;
}
public Criteria andUidGreaterThan(Integer value) {
addCriterion("uid >", value, "uid");
return (Criteria) this;
}
public Criteria andUidGreaterThanOrEqualTo(Integer value) {
addCriterion("uid >=", value, "uid");
return (Criteria) this;
}
public Criteria andUidLessThan(Integer value) {
addCriterion("uid <", value, "uid");
return (Criteria) this;
}
public Criteria andUidLessThanOrEqualTo(Integer value) {
addCriterion("uid <=", value, "uid");
return (Criteria) this;
}
public Criteria andUidIn(List<Integer> values) {
addCriterion("uid in", values, "uid");
return (Criteria) this;
}
public Criteria andUidNotIn(List<Integer> values) {
addCriterion("uid not in", values, "uid");
return (Criteria) this;
}
public Criteria andUidBetween(Integer value1, Integer value2) {
addCriterion("uid between", value1, value2, "uid");
return (Criteria) this;
}
public Criteria andUidNotBetween(Integer value1, Integer value2) {
addCriterion("uid not between", value1, value2, "uid");
return (Criteria) this;
}
public Criteria andContentIsNull() {
addCriterion("content is null");
return (Criteria) this;
}
public Criteria andContentIsNotNull() {
addCriterion("content is not null");
return (Criteria) this;
}
public Criteria andContentEqualTo(String value) {
addCriterion("content =", value, "content");
return (Criteria) this;
}
public Criteria andContentNotEqualTo(String value) {
addCriterion("content <>", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThan(String value) {
addCriterion("content >", value, "content");
return (Criteria) this;
}
public Criteria andContentGreaterThanOrEqualTo(String value) {
addCriterion("content >=", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThan(String value) {
addCriterion("content <", value, "content");
return (Criteria) this;
}
public Criteria andContentLessThanOrEqualTo(String value) {
addCriterion("content <=", value, "content");
return (Criteria) this;
}
public Criteria andContentLike(String value) {
addCriterion("content like", value, "content");
return (Criteria) this;
}
public Criteria andContentNotLike(String value) {
addCriterion("content not like", value, "content");
return (Criteria) this;
}
public Criteria andContentIn(List<String> values) {
addCriterion("content in", values, "content");
return (Criteria) this;
}
public Criteria andContentNotIn(List<String> values) {
addCriterion("content not in", values, "content");
return (Criteria) this;
}
public Criteria andContentBetween(String value1, String value2) {
addCriterion("content between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andContentNotBetween(String value1, String value2) {
addCriterion("content not between", value1, value2, "content");
return (Criteria) this;
}
public Criteria andCreateDateIsNull() {
addCriterion("createDate is null");
return (Criteria) this;
}
public Criteria andCreateDateIsNotNull() {
addCriterion("createDate is not null");
return (Criteria) this;
}
public Criteria andCreateDateEqualTo(Date value) {
addCriterion("createDate =", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateNotEqualTo(Date value) {
addCriterion("createDate <>", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateGreaterThan(Date value) {
addCriterion("createDate >", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
addCriterion("createDate >=", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateLessThan(Date value) {
addCriterion("createDate <", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateLessThanOrEqualTo(Date value) {
addCriterion("createDate <=", value, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateIn(List<Date> values) {
addCriterion("createDate in", values, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateNotIn(List<Date> values) {
addCriterion("createDate not in", values, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateBetween(Date value1, Date value2) {
addCriterion("createDate between", value1, value2, "createDate");
return (Criteria) this;
}
public Criteria andCreateDateNotBetween(Date value1, Date value2) {
addCriterion("createDate not between", value1, value2, "createDate");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table comment
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table comment
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,138 @@
package tmall.pojo;
import tmall.mapper.ConfigMapper;
import tmall.pojo.extension.ConfigExtension;
public class Config extends ConfigExtension implements tmall.pojo.ORM.POJOMapper<ConfigMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column config.name
*
* @mbg.generated
*/
private String name;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column config.cname
*
* @mbg.generated
*/
private String cname;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column config.value
*
* @mbg.generated
*/
private String value;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column config.rate
*
* @mbg.generated
*/
private Integer rate;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column config.name
*
* @return the value of config.name
*
* @mbg.generated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column config.name
*
* @param name the value for config.name
*
* @mbg.generated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column config.cname
*
* @return the value of config.cname
*
* @mbg.generated
*/
public String getCname() {
return cname;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column config.cname
*
* @param cname the value for config.cname
*
* @mbg.generated
*/
public void setCname(String cname) {
this.cname = cname == null ? null : cname.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column config.value
*
* @return the value of config.value
*
* @mbg.generated
*/
public String getValue() {
return value;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column config.value
*
* @param value the value for config.value
*
* @mbg.generated
*/
public void setValue(String value) {
this.value = value == null ? null : value.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column config.rate
*
* @return the value of config.rate
*
* @mbg.generated
*/
public Integer getRate() {
return rate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column config.rate
*
* @param rate the value for config.rate
*
* @mbg.generated
*/
public void setRate(Integer rate) {
this.rate = rate;
}
}

@ -0,0 +1,694 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class ConfigExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table config
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table config
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table config
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public ConfigExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table config
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table config
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andCnameIsNull() {
addCriterion("cname is null");
return (Criteria) this;
}
public Criteria andCnameIsNotNull() {
addCriterion("cname is not null");
return (Criteria) this;
}
public Criteria andCnameEqualTo(String value) {
addCriterion("cname =", value, "cname");
return (Criteria) this;
}
public Criteria andCnameNotEqualTo(String value) {
addCriterion("cname <>", value, "cname");
return (Criteria) this;
}
public Criteria andCnameGreaterThan(String value) {
addCriterion("cname >", value, "cname");
return (Criteria) this;
}
public Criteria andCnameGreaterThanOrEqualTo(String value) {
addCriterion("cname >=", value, "cname");
return (Criteria) this;
}
public Criteria andCnameLessThan(String value) {
addCriterion("cname <", value, "cname");
return (Criteria) this;
}
public Criteria andCnameLessThanOrEqualTo(String value) {
addCriterion("cname <=", value, "cname");
return (Criteria) this;
}
public Criteria andCnameLike(String value) {
addCriterion("cname like", value, "cname");
return (Criteria) this;
}
public Criteria andCnameNotLike(String value) {
addCriterion("cname not like", value, "cname");
return (Criteria) this;
}
public Criteria andCnameIn(List<String> values) {
addCriterion("cname in", values, "cname");
return (Criteria) this;
}
public Criteria andCnameNotIn(List<String> values) {
addCriterion("cname not in", values, "cname");
return (Criteria) this;
}
public Criteria andCnameBetween(String value1, String value2) {
addCriterion("cname between", value1, value2, "cname");
return (Criteria) this;
}
public Criteria andCnameNotBetween(String value1, String value2) {
addCriterion("cname not between", value1, value2, "cname");
return (Criteria) this;
}
public Criteria andValueIsNull() {
addCriterion("value is null");
return (Criteria) this;
}
public Criteria andValueIsNotNull() {
addCriterion("value is not null");
return (Criteria) this;
}
public Criteria andValueEqualTo(String value) {
addCriterion("value =", value, "value");
return (Criteria) this;
}
public Criteria andValueNotEqualTo(String value) {
addCriterion("value <>", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThan(String value) {
addCriterion("value >", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThanOrEqualTo(String value) {
addCriterion("value >=", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThan(String value) {
addCriterion("value <", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThanOrEqualTo(String value) {
addCriterion("value <=", value, "value");
return (Criteria) this;
}
public Criteria andValueLike(String value) {
addCriterion("value like", value, "value");
return (Criteria) this;
}
public Criteria andValueNotLike(String value) {
addCriterion("value not like", value, "value");
return (Criteria) this;
}
public Criteria andValueIn(List<String> values) {
addCriterion("value in", values, "value");
return (Criteria) this;
}
public Criteria andValueNotIn(List<String> values) {
addCriterion("value not in", values, "value");
return (Criteria) this;
}
public Criteria andValueBetween(String value1, String value2) {
addCriterion("value between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andValueNotBetween(String value1, String value2) {
addCriterion("value not between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andRateIsNull() {
addCriterion("rate is null");
return (Criteria) this;
}
public Criteria andRateIsNotNull() {
addCriterion("rate is not null");
return (Criteria) this;
}
public Criteria andRateEqualTo(Integer value) {
addCriterion("rate =", value, "rate");
return (Criteria) this;
}
public Criteria andRateNotEqualTo(Integer value) {
addCriterion("rate <>", value, "rate");
return (Criteria) this;
}
public Criteria andRateGreaterThan(Integer value) {
addCriterion("rate >", value, "rate");
return (Criteria) this;
}
public Criteria andRateGreaterThanOrEqualTo(Integer value) {
addCriterion("rate >=", value, "rate");
return (Criteria) this;
}
public Criteria andRateLessThan(Integer value) {
addCriterion("rate <", value, "rate");
return (Criteria) this;
}
public Criteria andRateLessThanOrEqualTo(Integer value) {
addCriterion("rate <=", value, "rate");
return (Criteria) this;
}
public Criteria andRateIn(List<Integer> values) {
addCriterion("rate in", values, "rate");
return (Criteria) this;
}
public Criteria andRateNotIn(List<Integer> values) {
addCriterion("rate not in", values, "rate");
return (Criteria) this;
}
public Criteria andRateBetween(Integer value1, Integer value2) {
addCriterion("rate between", value1, value2, "rate");
return (Criteria) this;
}
public Criteria andRateNotBetween(Integer value1, Integer value2) {
addCriterion("rate not between", value1, value2, "rate");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table config
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table config
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,8 @@
package tmall.pojo.ORM;
/**
* mybatis-generator pojo , M pojo mapper
*/
public interface POJOMapper<M> {
}

@ -0,0 +1,470 @@
package tmall.pojo;
import java.math.BigDecimal;
import java.util.Date;
import tmall.mapper.OrderMapper;
import tmall.pojo.extension.OrderExtension;
public class Order extends OrderExtension implements tmall.pojo.ORM.POJOMapper<OrderMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.uid
*
* @mbg.generated
*/
private Integer uid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.orderCode
*
* @mbg.generated
*/
private String orderCode;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.sum
*
* @mbg.generated
*/
private BigDecimal sum;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.totalNumber
*
* @mbg.generated
*/
private Integer totalNumber;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.address
*
* @mbg.generated
*/
private String address;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.post
*
* @mbg.generated
*/
private String post;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.receiver
*
* @mbg.generated
*/
private String receiver;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.mobile
*
* @mbg.generated
*/
private String mobile;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.userMessage
*
* @mbg.generated
*/
private String userMessage;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.createDate
*
* @mbg.generated
*/
private Date createDate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.payDate
*
* @mbg.generated
*/
private Date payDate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.deliverDate
*
* @mbg.generated
*/
private Date deliverDate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.confirmDate
*
* @mbg.generated
*/
private Date confirmDate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column order_.status
*
* @mbg.generated
*/
private String status;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.uid
*
* @return the value of order_.uid
*
* @mbg.generated
*/
public Integer getUid() {
return uid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.uid
*
* @param uid the value for order_.uid
*
* @mbg.generated
*/
public void setUid(Integer uid) {
this.uid = uid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.orderCode
*
* @return the value of order_.orderCode
*
* @mbg.generated
*/
public String getOrderCode() {
return orderCode;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.orderCode
*
* @param orderCode the value for order_.orderCode
*
* @mbg.generated
*/
public void setOrderCode(String orderCode) {
this.orderCode = orderCode == null ? null : orderCode.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.sum
*
* @return the value of order_.sum
*
* @mbg.generated
*/
public BigDecimal getSum() {
return sum;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.sum
*
* @param sum the value for order_.sum
*
* @mbg.generated
*/
public void setSum(BigDecimal sum) {
this.sum = sum;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.totalNumber
*
* @return the value of order_.totalNumber
*
* @mbg.generated
*/
public Integer getTotalNumber() {
return totalNumber;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.totalNumber
*
* @param totalNumber the value for order_.totalNumber
*
* @mbg.generated
*/
public void setTotalNumber(Integer totalNumber) {
this.totalNumber = totalNumber;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.address
*
* @return the value of order_.address
*
* @mbg.generated
*/
public String getAddress() {
return address;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.address
*
* @param address the value for order_.address
*
* @mbg.generated
*/
public void setAddress(String address) {
this.address = address == null ? null : address.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.post
*
* @return the value of order_.post
*
* @mbg.generated
*/
public String getPost() {
return post;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.post
*
* @param post the value for order_.post
*
* @mbg.generated
*/
public void setPost(String post) {
this.post = post == null ? null : post.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.receiver
*
* @return the value of order_.receiver
*
* @mbg.generated
*/
public String getReceiver() {
return receiver;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.receiver
*
* @param receiver the value for order_.receiver
*
* @mbg.generated
*/
public void setReceiver(String receiver) {
this.receiver = receiver == null ? null : receiver.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.mobile
*
* @return the value of order_.mobile
*
* @mbg.generated
*/
public String getMobile() {
return mobile;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.mobile
*
* @param mobile the value for order_.mobile
*
* @mbg.generated
*/
public void setMobile(String mobile) {
this.mobile = mobile == null ? null : mobile.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.userMessage
*
* @return the value of order_.userMessage
*
* @mbg.generated
*/
public String getUserMessage() {
return userMessage;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.userMessage
*
* @param userMessage the value for order_.userMessage
*
* @mbg.generated
*/
public void setUserMessage(String userMessage) {
this.userMessage = userMessage == null ? null : userMessage.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.createDate
*
* @return the value of order_.createDate
*
* @mbg.generated
*/
public Date getCreateDate() {
return createDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.createDate
*
* @param createDate the value for order_.createDate
*
* @mbg.generated
*/
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.payDate
*
* @return the value of order_.payDate
*
* @mbg.generated
*/
public Date getPayDate() {
return payDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.payDate
*
* @param payDate the value for order_.payDate
*
* @mbg.generated
*/
public void setPayDate(Date payDate) {
this.payDate = payDate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.deliverDate
*
* @return the value of order_.deliverDate
*
* @mbg.generated
*/
public Date getDeliverDate() {
return deliverDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.deliverDate
*
* @param deliverDate the value for order_.deliverDate
*
* @mbg.generated
*/
public void setDeliverDate(Date deliverDate) {
this.deliverDate = deliverDate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.confirmDate
*
* @return the value of order_.confirmDate
*
* @mbg.generated
*/
public Date getConfirmDate() {
return confirmDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.confirmDate
*
* @param confirmDate the value for order_.confirmDate
*
* @mbg.generated
*/
public void setConfirmDate(Date confirmDate) {
this.confirmDate = confirmDate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column order_.status
*
* @return the value of order_.status
*
* @mbg.generated
*/
public String getStatus() {
return status;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column order_.status
*
* @param status the value for order_.status
*
* @mbg.generated
*/
public void setStatus(String status) {
this.status = status == null ? null : status.trim();
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,172 @@
package tmall.pojo;
import java.math.BigDecimal;
import tmall.mapper.OrderItemMapper;
import tmall.pojo.extension.OrderItemExtension;
public class OrderItem extends OrderItemExtension implements tmall.pojo.ORM.POJOMapper<OrderItemMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column orderitem.oid
*
* @mbg.generated
*/
private Integer oid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column orderitem.pid
*
* @mbg.generated
*/
private Integer pid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column orderitem.cmid
*
* @mbg.generated
*/
private Integer cmid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column orderitem.number
*
* @mbg.generated
*/
private Integer number;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column orderitem.sum
*
* @mbg.generated
*/
private BigDecimal sum;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column orderitem.oid
*
* @return the value of orderitem.oid
*
* @mbg.generated
*/
public Integer getOid() {
return oid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column orderitem.oid
*
* @param oid the value for orderitem.oid
*
* @mbg.generated
*/
public void setOid(Integer oid) {
this.oid = oid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column orderitem.pid
*
* @return the value of orderitem.pid
*
* @mbg.generated
*/
public Integer getPid() {
return pid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column orderitem.pid
*
* @param pid the value for orderitem.pid
*
* @mbg.generated
*/
public void setPid(Integer pid) {
this.pid = pid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column orderitem.cmid
*
* @return the value of orderitem.cmid
*
* @mbg.generated
*/
public Integer getCmid() {
return cmid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column orderitem.cmid
*
* @param cmid the value for orderitem.cmid
*
* @mbg.generated
*/
public void setCmid(Integer cmid) {
this.cmid = cmid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column orderitem.number
*
* @return the value of orderitem.number
*
* @mbg.generated
*/
public Integer getNumber() {
return number;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column orderitem.number
*
* @param number the value for orderitem.number
*
* @mbg.generated
*/
public void setNumber(Integer number) {
this.number = number;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column orderitem.sum
*
* @return the value of orderitem.sum
*
* @mbg.generated
*/
public BigDecimal getSum() {
return sum;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column orderitem.sum
*
* @param sum the value for orderitem.sum
*
* @mbg.generated
*/
public void setSum(BigDecimal sum) {
this.sum = sum;
}
}

@ -0,0 +1,725 @@
package tmall.pojo;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class OrderItemExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table orderitem
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table orderitem
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table orderitem
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public OrderItemExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table orderitem
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table orderitem
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andOidIsNull() {
addCriterion("oid is null");
return (Criteria) this;
}
public Criteria andOidIsNotNull() {
addCriterion("oid is not null");
return (Criteria) this;
}
public Criteria andOidEqualTo(Integer value) {
addCriterion("oid =", value, "oid");
return (Criteria) this;
}
public Criteria andOidNotEqualTo(Integer value) {
addCriterion("oid <>", value, "oid");
return (Criteria) this;
}
public Criteria andOidGreaterThan(Integer value) {
addCriterion("oid >", value, "oid");
return (Criteria) this;
}
public Criteria andOidGreaterThanOrEqualTo(Integer value) {
addCriterion("oid >=", value, "oid");
return (Criteria) this;
}
public Criteria andOidLessThan(Integer value) {
addCriterion("oid <", value, "oid");
return (Criteria) this;
}
public Criteria andOidLessThanOrEqualTo(Integer value) {
addCriterion("oid <=", value, "oid");
return (Criteria) this;
}
public Criteria andOidIn(List<Integer> values) {
addCriterion("oid in", values, "oid");
return (Criteria) this;
}
public Criteria andOidNotIn(List<Integer> values) {
addCriterion("oid not in", values, "oid");
return (Criteria) this;
}
public Criteria andOidBetween(Integer value1, Integer value2) {
addCriterion("oid between", value1, value2, "oid");
return (Criteria) this;
}
public Criteria andOidNotBetween(Integer value1, Integer value2) {
addCriterion("oid not between", value1, value2, "oid");
return (Criteria) this;
}
public Criteria andPidIsNull() {
addCriterion("pid is null");
return (Criteria) this;
}
public Criteria andPidIsNotNull() {
addCriterion("pid is not null");
return (Criteria) this;
}
public Criteria andPidEqualTo(Integer value) {
addCriterion("pid =", value, "pid");
return (Criteria) this;
}
public Criteria andPidNotEqualTo(Integer value) {
addCriterion("pid <>", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThan(Integer value) {
addCriterion("pid >", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThanOrEqualTo(Integer value) {
addCriterion("pid >=", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThan(Integer value) {
addCriterion("pid <", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThanOrEqualTo(Integer value) {
addCriterion("pid <=", value, "pid");
return (Criteria) this;
}
public Criteria andPidIn(List<Integer> values) {
addCriterion("pid in", values, "pid");
return (Criteria) this;
}
public Criteria andPidNotIn(List<Integer> values) {
addCriterion("pid not in", values, "pid");
return (Criteria) this;
}
public Criteria andPidBetween(Integer value1, Integer value2) {
addCriterion("pid between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPidNotBetween(Integer value1, Integer value2) {
addCriterion("pid not between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andCmidIsNull() {
addCriterion("cmid is null");
return (Criteria) this;
}
public Criteria andCmidIsNotNull() {
addCriterion("cmid is not null");
return (Criteria) this;
}
public Criteria andCmidEqualTo(Integer value) {
addCriterion("cmid =", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidNotEqualTo(Integer value) {
addCriterion("cmid <>", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidGreaterThan(Integer value) {
addCriterion("cmid >", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidGreaterThanOrEqualTo(Integer value) {
addCriterion("cmid >=", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidLessThan(Integer value) {
addCriterion("cmid <", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidLessThanOrEqualTo(Integer value) {
addCriterion("cmid <=", value, "cmid");
return (Criteria) this;
}
public Criteria andCmidIn(List<Integer> values) {
addCriterion("cmid in", values, "cmid");
return (Criteria) this;
}
public Criteria andCmidNotIn(List<Integer> values) {
addCriterion("cmid not in", values, "cmid");
return (Criteria) this;
}
public Criteria andCmidBetween(Integer value1, Integer value2) {
addCriterion("cmid between", value1, value2, "cmid");
return (Criteria) this;
}
public Criteria andCmidNotBetween(Integer value1, Integer value2) {
addCriterion("cmid not between", value1, value2, "cmid");
return (Criteria) this;
}
public Criteria andNumberIsNull() {
addCriterion("number is null");
return (Criteria) this;
}
public Criteria andNumberIsNotNull() {
addCriterion("number is not null");
return (Criteria) this;
}
public Criteria andNumberEqualTo(Integer value) {
addCriterion("number =", value, "number");
return (Criteria) this;
}
public Criteria andNumberNotEqualTo(Integer value) {
addCriterion("number <>", value, "number");
return (Criteria) this;
}
public Criteria andNumberGreaterThan(Integer value) {
addCriterion("number >", value, "number");
return (Criteria) this;
}
public Criteria andNumberGreaterThanOrEqualTo(Integer value) {
addCriterion("number >=", value, "number");
return (Criteria) this;
}
public Criteria andNumberLessThan(Integer value) {
addCriterion("number <", value, "number");
return (Criteria) this;
}
public Criteria andNumberLessThanOrEqualTo(Integer value) {
addCriterion("number <=", value, "number");
return (Criteria) this;
}
public Criteria andNumberIn(List<Integer> values) {
addCriterion("number in", values, "number");
return (Criteria) this;
}
public Criteria andNumberNotIn(List<Integer> values) {
addCriterion("number not in", values, "number");
return (Criteria) this;
}
public Criteria andNumberBetween(Integer value1, Integer value2) {
addCriterion("number between", value1, value2, "number");
return (Criteria) this;
}
public Criteria andNumberNotBetween(Integer value1, Integer value2) {
addCriterion("number not between", value1, value2, "number");
return (Criteria) this;
}
public Criteria andSumIsNull() {
addCriterion("sum is null");
return (Criteria) this;
}
public Criteria andSumIsNotNull() {
addCriterion("sum is not null");
return (Criteria) this;
}
public Criteria andSumEqualTo(BigDecimal value) {
addCriterion("sum =", value, "sum");
return (Criteria) this;
}
public Criteria andSumNotEqualTo(BigDecimal value) {
addCriterion("sum <>", value, "sum");
return (Criteria) this;
}
public Criteria andSumGreaterThan(BigDecimal value) {
addCriterion("sum >", value, "sum");
return (Criteria) this;
}
public Criteria andSumGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("sum >=", value, "sum");
return (Criteria) this;
}
public Criteria andSumLessThan(BigDecimal value) {
addCriterion("sum <", value, "sum");
return (Criteria) this;
}
public Criteria andSumLessThanOrEqualTo(BigDecimal value) {
addCriterion("sum <=", value, "sum");
return (Criteria) this;
}
public Criteria andSumIn(List<BigDecimal> values) {
addCriterion("sum in", values, "sum");
return (Criteria) this;
}
public Criteria andSumNotIn(List<BigDecimal> values) {
addCriterion("sum not in", values, "sum");
return (Criteria) this;
}
public Criteria andSumBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("sum between", value1, value2, "sum");
return (Criteria) this;
}
public Criteria andSumNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("sum not between", value1, value2, "sum");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table orderitem
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table orderitem
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,419 @@
package tmall.pojo;
import java.math.BigDecimal;
import java.util.Date;
import tmall.mapper.ProductMapper;
import tmall.pojo.extension.ProductExtension;
public class Product extends ProductExtension implements tmall.pojo.ORM.POJOMapper<ProductMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.cid
*
* @mbg.generated
*/
private Integer cid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.name
*
* @mbg.generated
*/
private String name;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.subTitle
*
* @mbg.generated
*/
private String subTitle;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.originalPrice
*
* @mbg.generated
*/
private BigDecimal originalPrice;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.nowPrice
*
* @mbg.generated
*/
private BigDecimal nowPrice;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.stock
*
* @mbg.generated
*/
private Integer stock;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.imgid
*
* @mbg.generated
*/
private Integer imgid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.createDate
*
* @mbg.generated
*/
private Date createDate;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.commentCount
*
* @mbg.generated
*/
private Integer commentCount;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product.saleCount
*
* @mbg.generated
*/
private Integer saleCount;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.cid
*
* @return the value of product.cid
*
* @mbg.generated
*/
public Integer getCid() {
return cid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.cid
*
* @param cid the value for product.cid
*
* @mbg.generated
*/
public void setCid(Integer cid) {
this.cid = cid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.name
*
* @return the value of product.name
*
* @mbg.generated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.name
*
* @param name the value for product.name
*
* @mbg.generated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.subTitle
*
* @return the value of product.subTitle
*
* @mbg.generated
*/
public String getSubTitle() {
return subTitle;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.subTitle
*
* @param subTitle the value for product.subTitle
*
* @mbg.generated
*/
public void setSubTitle(String subTitle) {
this.subTitle = subTitle == null ? null : subTitle.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.originalPrice
*
* @return the value of product.originalPrice
*
* @mbg.generated
*/
public BigDecimal getOriginalPrice() {
return originalPrice;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.originalPrice
*
* @param originalPrice the value for product.originalPrice
*
* @mbg.generated
*/
public void setOriginalPrice(BigDecimal originalPrice) {
this.originalPrice = originalPrice;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.nowPrice
*
* @return the value of product.nowPrice
*
* @mbg.generated
*/
public BigDecimal getNowPrice() {
return nowPrice;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.nowPrice
*
* @param nowPrice the value for product.nowPrice
*
* @mbg.generated
*/
public void setNowPrice(BigDecimal nowPrice) {
this.nowPrice = nowPrice;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.stock
*
* @return the value of product.stock
*
* @mbg.generated
*/
public Integer getStock() {
return stock;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.stock
*
* @param stock the value for product.stock
*
* @mbg.generated
*/
public void setStock(Integer stock) {
this.stock = stock;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.imgid
*
* @return the value of product.imgid
*
* @mbg.generated
*/
public Integer getImgid() {
return imgid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.imgid
*
* @param imgid the value for product.imgid
*
* @mbg.generated
*/
public void setImgid(Integer imgid) {
this.imgid = imgid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.createDate
*
* @return the value of product.createDate
*
* @mbg.generated
*/
public Date getCreateDate() {
return createDate;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.createDate
*
* @param createDate the value for product.createDate
*
* @mbg.generated
*/
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.commentCount
*
* @return the value of product.commentCount
*
* @mbg.generated
*/
public Integer getCommentCount() {
return commentCount;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.commentCount
*
* @param commentCount the value for product.commentCount
*
* @mbg.generated
*/
public void setCommentCount(Integer commentCount) {
this.commentCount = commentCount;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product.saleCount
*
* @return the value of product.saleCount
*
* @mbg.generated
*/
public Integer getSaleCount() {
return saleCount;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product.saleCount
*
* @param saleCount the value for product.saleCount
*
* @mbg.generated
*/
public void setSaleCount(Integer saleCount) {
this.saleCount = saleCount;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((cid == null) ? 0 : cid.hashCode());
result = prime * result + ((commentCount == null) ? 0 : commentCount.hashCode());
result = prime * result + ((createDate == null) ? 0 : createDate.hashCode());
result = prime * result + ((imgid == null) ? 0 : imgid.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((nowPrice == null) ? 0 : nowPrice.hashCode());
result = prime * result + ((originalPrice == null) ? 0 : originalPrice.hashCode());
result = prime * result + ((saleCount == null) ? 0 : saleCount.hashCode());
result = prime * result + ((stock == null) ? 0 : stock.hashCode());
result = prime * result + ((subTitle == null) ? 0 : subTitle.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Product other = (Product) obj;
if (cid == null) {
if (other.cid != null)
return false;
} else if (!cid.equals(other.cid))
return false;
if (commentCount == null) {
if (other.commentCount != null)
return false;
} else if (!commentCount.equals(other.commentCount))
return false;
if (createDate == null) {
if (other.createDate != null)
return false;
} else if (!createDate.equals(other.createDate))
return false;
if (imgid == null) {
if (other.imgid != null)
return false;
} else if (!imgid.equals(other.imgid))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (nowPrice == null) {
if (other.nowPrice != null)
return false;
} else if (!nowPrice.equals(other.nowPrice))
return false;
if (originalPrice == null) {
if (other.originalPrice != null)
return false;
} else if (!originalPrice.equals(other.originalPrice))
return false;
if (saleCount == null) {
if (other.saleCount != null)
return false;
} else if (!saleCount.equals(other.saleCount))
return false;
if (stock == null) {
if (other.stock != null)
return false;
} else if (!stock.equals(other.stock))
return false;
if (subTitle == null) {
if (other.subTitle != null)
return false;
} else if (!subTitle.equals(other.subTitle))
return false;
return true;
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,72 @@
package tmall.pojo;
import tmall.mapper.ProductImageMapper;
import tmall.pojo.extension.ProductImageExtension;
public class ProductImage extends ProductImageExtension implements tmall.pojo.ORM.POJOMapper<ProductImageMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product_image.pid
*
* @mbg.generated
*/
private Integer pid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column product_image.type
*
* @mbg.generated
*/
private String type;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product_image.pid
*
* @return the value of product_image.pid
*
* @mbg.generated
*/
public Integer getPid() {
return pid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product_image.pid
*
* @param pid the value for product_image.pid
*
* @mbg.generated
*/
public void setPid(Integer pid) {
this.pid = pid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column product_image.type
*
* @return the value of product_image.type
*
* @mbg.generated
*/
public String getType() {
return type;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column product_image.type
*
* @param type the value for product_image.type
*
* @mbg.generated
*/
public void setType(String type) {
this.type = type == null ? null : type.trim();
}
}

@ -0,0 +1,554 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class ProductImageExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table product_image
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table product_image
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table product_image
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public ProductImageExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table product_image
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table product_image
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andPidIsNull() {
addCriterion("pid is null");
return (Criteria) this;
}
public Criteria andPidIsNotNull() {
addCriterion("pid is not null");
return (Criteria) this;
}
public Criteria andPidEqualTo(Integer value) {
addCriterion("pid =", value, "pid");
return (Criteria) this;
}
public Criteria andPidNotEqualTo(Integer value) {
addCriterion("pid <>", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThan(Integer value) {
addCriterion("pid >", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThanOrEqualTo(Integer value) {
addCriterion("pid >=", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThan(Integer value) {
addCriterion("pid <", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThanOrEqualTo(Integer value) {
addCriterion("pid <=", value, "pid");
return (Criteria) this;
}
public Criteria andPidIn(List<Integer> values) {
addCriterion("pid in", values, "pid");
return (Criteria) this;
}
public Criteria andPidNotIn(List<Integer> values) {
addCriterion("pid not in", values, "pid");
return (Criteria) this;
}
public Criteria andPidBetween(Integer value1, Integer value2) {
addCriterion("pid between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPidNotBetween(Integer value1, Integer value2) {
addCriterion("pid not between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andTypeIsNull() {
addCriterion("type is null");
return (Criteria) this;
}
public Criteria andTypeIsNotNull() {
addCriterion("type is not null");
return (Criteria) this;
}
public Criteria andTypeEqualTo(String value) {
addCriterion("type =", value, "type");
return (Criteria) this;
}
public Criteria andTypeNotEqualTo(String value) {
addCriterion("type <>", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThan(String value) {
addCriterion("type >", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThanOrEqualTo(String value) {
addCriterion("type >=", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThan(String value) {
addCriterion("type <", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThanOrEqualTo(String value) {
addCriterion("type <=", value, "type");
return (Criteria) this;
}
public Criteria andTypeLike(String value) {
addCriterion("type like", value, "type");
return (Criteria) this;
}
public Criteria andTypeNotLike(String value) {
addCriterion("type not like", value, "type");
return (Criteria) this;
}
public Criteria andTypeIn(List<String> values) {
addCriterion("type in", values, "type");
return (Criteria) this;
}
public Criteria andTypeNotIn(List<String> values) {
addCriterion("type not in", values, "type");
return (Criteria) this;
}
public Criteria andTypeBetween(String value1, String value2) {
addCriterion("type between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andTypeNotBetween(String value1, String value2) {
addCriterion("type not between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table product_image
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table product_image
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,72 @@
package tmall.pojo;
import tmall.mapper.PropertyMapper;
import tmall.pojo.extension.PropertyExtension;
public class Property extends PropertyExtension implements tmall.pojo.ORM.POJOMapper<PropertyMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column property.cid
*
* @mbg.generated
*/
private Integer cid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column property.name
*
* @mbg.generated
*/
private String name;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column property.cid
*
* @return the value of property.cid
*
* @mbg.generated
*/
public Integer getCid() {
return cid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column property.cid
*
* @param cid the value for property.cid
*
* @mbg.generated
*/
public void setCid(Integer cid) {
this.cid = cid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column property.name
*
* @return the value of property.name
*
* @mbg.generated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column property.name
*
* @param name the value for property.name
*
* @mbg.generated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
}

@ -0,0 +1,554 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class PropertyExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public PropertyExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andCidIsNull() {
addCriterion("cid is null");
return (Criteria) this;
}
public Criteria andCidIsNotNull() {
addCriterion("cid is not null");
return (Criteria) this;
}
public Criteria andCidEqualTo(Integer value) {
addCriterion("cid =", value, "cid");
return (Criteria) this;
}
public Criteria andCidNotEqualTo(Integer value) {
addCriterion("cid <>", value, "cid");
return (Criteria) this;
}
public Criteria andCidGreaterThan(Integer value) {
addCriterion("cid >", value, "cid");
return (Criteria) this;
}
public Criteria andCidGreaterThanOrEqualTo(Integer value) {
addCriterion("cid >=", value, "cid");
return (Criteria) this;
}
public Criteria andCidLessThan(Integer value) {
addCriterion("cid <", value, "cid");
return (Criteria) this;
}
public Criteria andCidLessThanOrEqualTo(Integer value) {
addCriterion("cid <=", value, "cid");
return (Criteria) this;
}
public Criteria andCidIn(List<Integer> values) {
addCriterion("cid in", values, "cid");
return (Criteria) this;
}
public Criteria andCidNotIn(List<Integer> values) {
addCriterion("cid not in", values, "cid");
return (Criteria) this;
}
public Criteria andCidBetween(Integer value1, Integer value2) {
addCriterion("cid between", value1, value2, "cid");
return (Criteria) this;
}
public Criteria andCidNotBetween(Integer value1, Integer value2) {
addCriterion("cid not between", value1, value2, "cid");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,105 @@
package tmall.pojo;
import tmall.mapper.PropertyValueMapper;
import tmall.pojo.extension.PropertyValueExtension;
public class PropertyValue extends PropertyValueExtension implements tmall.pojo.ORM.POJOMapper<PropertyValueMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column property_value.pid
*
* @mbg.generated
*/
private Integer pid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column property_value.ptid
*
* @mbg.generated
*/
private Integer ptid;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column property_value.value
*
* @mbg.generated
*/
private String value;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column property_value.pid
*
* @return the value of property_value.pid
*
* @mbg.generated
*/
public Integer getPid() {
return pid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column property_value.pid
*
* @param pid the value for property_value.pid
*
* @mbg.generated
*/
public void setPid(Integer pid) {
this.pid = pid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column property_value.ptid
*
* @return the value of property_value.ptid
*
* @mbg.generated
*/
public Integer getPtid() {
return ptid;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column property_value.ptid
*
* @param ptid the value for property_value.ptid
*
* @mbg.generated
*/
public void setPtid(Integer ptid) {
this.ptid = ptid;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column property_value.value
*
* @return the value of property_value.value
*
* @mbg.generated
*/
public String getValue() {
return value;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column property_value.value
*
* @param value the value for property_value.value
*
* @mbg.generated
*/
public void setValue(String value) {
this.value = value == null ? null : value.trim();
}
}

@ -0,0 +1,614 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class PropertyValueExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property_value
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property_value
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table property_value
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public PropertyValueExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table property_value
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property_value
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andPidIsNull() {
addCriterion("pid is null");
return (Criteria) this;
}
public Criteria andPidIsNotNull() {
addCriterion("pid is not null");
return (Criteria) this;
}
public Criteria andPidEqualTo(Integer value) {
addCriterion("pid =", value, "pid");
return (Criteria) this;
}
public Criteria andPidNotEqualTo(Integer value) {
addCriterion("pid <>", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThan(Integer value) {
addCriterion("pid >", value, "pid");
return (Criteria) this;
}
public Criteria andPidGreaterThanOrEqualTo(Integer value) {
addCriterion("pid >=", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThan(Integer value) {
addCriterion("pid <", value, "pid");
return (Criteria) this;
}
public Criteria andPidLessThanOrEqualTo(Integer value) {
addCriterion("pid <=", value, "pid");
return (Criteria) this;
}
public Criteria andPidIn(List<Integer> values) {
addCriterion("pid in", values, "pid");
return (Criteria) this;
}
public Criteria andPidNotIn(List<Integer> values) {
addCriterion("pid not in", values, "pid");
return (Criteria) this;
}
public Criteria andPidBetween(Integer value1, Integer value2) {
addCriterion("pid between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPidNotBetween(Integer value1, Integer value2) {
addCriterion("pid not between", value1, value2, "pid");
return (Criteria) this;
}
public Criteria andPtidIsNull() {
addCriterion("ptid is null");
return (Criteria) this;
}
public Criteria andPtidIsNotNull() {
addCriterion("ptid is not null");
return (Criteria) this;
}
public Criteria andPtidEqualTo(Integer value) {
addCriterion("ptid =", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidNotEqualTo(Integer value) {
addCriterion("ptid <>", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidGreaterThan(Integer value) {
addCriterion("ptid >", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidGreaterThanOrEqualTo(Integer value) {
addCriterion("ptid >=", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidLessThan(Integer value) {
addCriterion("ptid <", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidLessThanOrEqualTo(Integer value) {
addCriterion("ptid <=", value, "ptid");
return (Criteria) this;
}
public Criteria andPtidIn(List<Integer> values) {
addCriterion("ptid in", values, "ptid");
return (Criteria) this;
}
public Criteria andPtidNotIn(List<Integer> values) {
addCriterion("ptid not in", values, "ptid");
return (Criteria) this;
}
public Criteria andPtidBetween(Integer value1, Integer value2) {
addCriterion("ptid between", value1, value2, "ptid");
return (Criteria) this;
}
public Criteria andPtidNotBetween(Integer value1, Integer value2) {
addCriterion("ptid not between", value1, value2, "ptid");
return (Criteria) this;
}
public Criteria andValueIsNull() {
addCriterion("value is null");
return (Criteria) this;
}
public Criteria andValueIsNotNull() {
addCriterion("value is not null");
return (Criteria) this;
}
public Criteria andValueEqualTo(String value) {
addCriterion("value =", value, "value");
return (Criteria) this;
}
public Criteria andValueNotEqualTo(String value) {
addCriterion("value <>", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThan(String value) {
addCriterion("value >", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThanOrEqualTo(String value) {
addCriterion("value >=", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThan(String value) {
addCriterion("value <", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThanOrEqualTo(String value) {
addCriterion("value <=", value, "value");
return (Criteria) this;
}
public Criteria andValueLike(String value) {
addCriterion("value like", value, "value");
return (Criteria) this;
}
public Criteria andValueNotLike(String value) {
addCriterion("value not like", value, "value");
return (Criteria) this;
}
public Criteria andValueIn(List<String> values) {
addCriterion("value in", values, "value");
return (Criteria) this;
}
public Criteria andValueNotIn(List<String> values) {
addCriterion("value not in", values, "value");
return (Criteria) this;
}
public Criteria andValueBetween(String value1, String value2) {
addCriterion("value between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andValueNotBetween(String value1, String value2) {
addCriterion("value not between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property_value
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table property_value
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,105 @@
package tmall.pojo;
import tmall.mapper.UserMapper;
import tmall.pojo.extension.UserExtension;
public class User extends UserExtension implements tmall.pojo.ORM.POJOMapper<UserMapper> {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.name
*
* @mbg.generated
*/
private String name;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.password
*
* @mbg.generated
*/
private String password;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column user.group_
*
* @mbg.generated
*/
private String group_;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.name
*
* @return the value of user.name
*
* @mbg.generated
*/
public String getName() {
return name;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.name
*
* @param name the value for user.name
*
* @mbg.generated
*/
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.password
*
* @return the value of user.password
*
* @mbg.generated
*/
public String getPassword() {
return password;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.password
*
* @param password the value for user.password
*
* @mbg.generated
*/
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column user.group_
*
* @return the value of user.group_
*
* @mbg.generated
*/
public String getGroup_() {
return group_;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column user.group_
*
* @param group_ the value for user.group_
*
* @mbg.generated
*/
public void setGroup_(String group_) {
this.group_ = group_ == null ? null : group_.trim();
}
}

@ -0,0 +1,634 @@
package tmall.pojo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import tmall.pojo.base.BaseExample;
public class UserExample implements BaseExample {
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table user
*
* @mbg.generated
*/
protected String orderByClause;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table user
*
* @mbg.generated
*/
protected boolean distinct;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table user
*
* @mbg.generated
*/
protected List<Criteria> oredCriteria;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public UserExample() {
oredCriteria = new ArrayList<Criteria>();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public String getOrderByClause() {
return orderByClause;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public boolean isDistinct() {
return distinct;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table user
*
* @mbg.generated
*/
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table user
*
* @mbg.generated
*/
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andNameIsNull() {
addCriterion("name is null");
return (Criteria) this;
}
public Criteria andNameIsNotNull() {
addCriterion("name is not null");
return (Criteria) this;
}
public Criteria andNameEqualTo(String value) {
addCriterion("name =", value, "name");
return (Criteria) this;
}
public Criteria andNameNotEqualTo(String value) {
addCriterion("name <>", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThan(String value) {
addCriterion("name >", value, "name");
return (Criteria) this;
}
public Criteria andNameGreaterThanOrEqualTo(String value) {
addCriterion("name >=", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThan(String value) {
addCriterion("name <", value, "name");
return (Criteria) this;
}
public Criteria andNameLessThanOrEqualTo(String value) {
addCriterion("name <=", value, "name");
return (Criteria) this;
}
public Criteria andNameLike(String value) {
addCriterion("name like", value, "name");
return (Criteria) this;
}
public Criteria andNameNotLike(String value) {
addCriterion("name not like", value, "name");
return (Criteria) this;
}
public Criteria andNameIn(List<String> values) {
addCriterion("name in", values, "name");
return (Criteria) this;
}
public Criteria andNameNotIn(List<String> values) {
addCriterion("name not in", values, "name");
return (Criteria) this;
}
public Criteria andNameBetween(String value1, String value2) {
addCriterion("name between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andNameNotBetween(String value1, String value2) {
addCriterion("name not between", value1, value2, "name");
return (Criteria) this;
}
public Criteria andPasswordIsNull() {
addCriterion("password is null");
return (Criteria) this;
}
public Criteria andPasswordIsNotNull() {
addCriterion("password is not null");
return (Criteria) this;
}
public Criteria andPasswordEqualTo(String value) {
addCriterion("password =", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotEqualTo(String value) {
addCriterion("password <>", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThan(String value) {
addCriterion("password >", value, "password");
return (Criteria) this;
}
public Criteria andPasswordGreaterThanOrEqualTo(String value) {
addCriterion("password >=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThan(String value) {
addCriterion("password <", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLessThanOrEqualTo(String value) {
addCriterion("password <=", value, "password");
return (Criteria) this;
}
public Criteria andPasswordLike(String value) {
addCriterion("password like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordNotLike(String value) {
addCriterion("password not like", value, "password");
return (Criteria) this;
}
public Criteria andPasswordIn(List<String> values) {
addCriterion("password in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordNotIn(List<String> values) {
addCriterion("password not in", values, "password");
return (Criteria) this;
}
public Criteria andPasswordBetween(String value1, String value2) {
addCriterion("password between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andPasswordNotBetween(String value1, String value2) {
addCriterion("password not between", value1, value2, "password");
return (Criteria) this;
}
public Criteria andGroup_IsNull() {
addCriterion("group_ is null");
return (Criteria) this;
}
public Criteria andGroup_IsNotNull() {
addCriterion("group_ is not null");
return (Criteria) this;
}
public Criteria andGroup_EqualTo(String value) {
addCriterion("group_ =", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_NotEqualTo(String value) {
addCriterion("group_ <>", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_GreaterThan(String value) {
addCriterion("group_ >", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_GreaterThanOrEqualTo(String value) {
addCriterion("group_ >=", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_LessThan(String value) {
addCriterion("group_ <", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_LessThanOrEqualTo(String value) {
addCriterion("group_ <=", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_Like(String value) {
addCriterion("group_ like", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_NotLike(String value) {
addCriterion("group_ not like", value, "group_");
return (Criteria) this;
}
public Criteria andGroup_In(List<String> values) {
addCriterion("group_ in", values, "group_");
return (Criteria) this;
}
public Criteria andGroup_NotIn(List<String> values) {
addCriterion("group_ not in", values, "group_");
return (Criteria) this;
}
public Criteria andGroup_Between(String value1, String value2) {
addCriterion("group_ between", value1, value2, "group_");
return (Criteria) this;
}
public Criteria andGroup_NotBetween(String value1, String value2) {
addCriterion("group_ not between", value1, value2, "group_");
return (Criteria) this;
}
public Criteria andDeleteAtIsNull() {
addCriterion("deleteAt is null");
return (Criteria) this;
}
public Criteria andDeleteAtIsNotNull() {
addCriterion("deleteAt is not null");
return (Criteria) this;
}
public Criteria andDeleteAtEqualTo(Date value) {
addCriterion("deleteAt =", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotEqualTo(Date value) {
addCriterion("deleteAt <>", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThan(Date value) {
addCriterion("deleteAt >", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtGreaterThanOrEqualTo(Date value) {
addCriterion("deleteAt >=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThan(Date value) {
addCriterion("deleteAt <", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtLessThanOrEqualTo(Date value) {
addCriterion("deleteAt <=", value, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtIn(List<Date> values) {
addCriterion("deleteAt in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotIn(List<Date> values) {
addCriterion("deleteAt not in", values, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtBetween(Date value1, Date value2) {
addCriterion("deleteAt between", value1, value2, "deleteAt");
return (Criteria) this;
}
public Criteria andDeleteAtNotBetween(Date value1, Date value2) {
addCriterion("deleteAt not between", value1, value2, "deleteAt");
return (Criteria) this;
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table user
*
* @mbg.generated do_not_delete_during_merge
*/
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
/**
* This class was generated by MyBatis Generator.
* This class corresponds to the database table user
*
* @mbg.generated
*/
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

@ -0,0 +1,9 @@
package tmall.pojo.base;
/**
* mybatis-generator Example
*/
public interface BaseExample {
Object createCriteria();
void setOrderByClause(String orderByClause);
}

@ -0,0 +1,29 @@
package tmall.pojo.base;
import java.io.Serializable;
import java.util.Date;
/**
* mybatis-generator pojo
*/
public class BasePOJO implements Serializable {
private Integer id;
private Date deleteAt;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getDeleteAt() {
return deleteAt;
}
public void setDeleteAt(Date deleteAt) {
this.deleteAt = deleteAt;
}
}

@ -0,0 +1,32 @@
package tmall.pojo.extension;
import tmall.pojo.Product;
import tmall.pojo.User;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class CartItemExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name = "pid")
private Product product;
@ManyToOne
@JoinColumn(name = "uid")
private User user;
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}

@ -0,0 +1,27 @@
package tmall.pojo.extension;
import tmall.pojo.Product;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.OneToMany;
import java.util.List;
public class CategoryExtension extends BasePOJO {
@OneToMany
@JoinColumn(name = "cid")
private List<Product> products;
public String getImgPath() {
return getId() + ".jpg";
}
public List<Product> getProducts() {
return products;
}
public void setProducts(List<Product> products) {
this.products = products;
}
}

@ -0,0 +1,32 @@
package tmall.pojo.extension;
import tmall.pojo.Product;
import tmall.pojo.User;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class CommentExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name="uid")
private User user;
@ManyToOne
@JoinColumn(name="pid")
private Product product;
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}

@ -0,0 +1,6 @@
package tmall.pojo.extension;
import tmall.pojo.base.BasePOJO;
public class ConfigExtension extends BasePOJO {
}

@ -0,0 +1,73 @@
package tmall.pojo.extension;
import tmall.pojo.OrderItem;
import tmall.pojo.User;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.Enumerated;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
import tmall.annotation.ORMAnnotation.OneToMany;
import java.util.List;
public class OrderExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name="uid")
private User user;
@Enumerated(var = "status")
private Status statusEnum;
@OneToMany
@JoinColumn(name = "oid")
private List<OrderItem> orderItems;
public List<OrderItem> getOrderItems() {
return orderItems;
}
public void setOrderItems(List<OrderItem> orderItems) {
this.orderItems = orderItems;
}
public String getStatusText() {
return statusEnum.getName();
}
public Status getStatusEnum() {
return statusEnum;
}
public void setStatus(Status statusEnum) {
this.statusEnum = statusEnum;
}
public void setStatusEnum(Status statusEnum) {
this.statusEnum = statusEnum;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public enum Status{
waitPay("待付款"),
waitDeliver("待发货"),
waitConfirm("待收货"),
waitComment("待评论"),
finish("完成订单"),
deleted("已删除");
private String name;
private Status(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}

@ -0,0 +1,44 @@
package tmall.pojo.extension;
import tmall.pojo.Comment;
import tmall.pojo.Order;
import tmall.pojo.Product;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class OrderItemExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name="pid")
private Product product;
@ManyToOne
@JoinColumn(name="oid")
private Order order;
@ManyToOne
@JoinColumn(name="cmid")
private Comment comment;
public Comment getComment() {
return comment;
}
public void setComment(Comment comment) {
this.comment = comment;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
}

@ -0,0 +1,48 @@
package tmall.pojo.extension;
import tmall.pojo.Category;
import tmall.pojo.ProductImage;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
import tmall.annotation.ORMAnnotation.OneToMany;
import java.util.List;
public class ProductExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name = "cid")
private Category category;
@ManyToOne
@JoinColumn(name="imgid")
private ProductImage image;
@OneToMany
@JoinColumn(name="pid")
private List<ProductImage> productImages;
public ProductImage getImage() {
return image;
}
public void setImage(ProductImage image) {
this.image = image;
}
public List<ProductImage> getProductImages() {
return productImages;
}
public void setProductImages(List<ProductImage> productImages) {
this.productImages = productImages;
}
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
}

@ -0,0 +1,29 @@
package tmall.pojo.extension;
import tmall.pojo.Product;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class ProductImageExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name = "pid")
private Product product;
public enum Type{
top,detail,cover;
}
public String getPath(){
return getId()+".jpg";
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
}

@ -0,0 +1,20 @@
package tmall.pojo.extension;
import tmall.pojo.Category;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class PropertyExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name="cid")
private Category category;
public Category getCategory() {
return category;
}
public void setCategory(Category category) {
this.category = category;
}
}

@ -0,0 +1,32 @@
package tmall.pojo.extension;
import tmall.pojo.Product;
import tmall.pojo.Property;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.JoinColumn;
import tmall.annotation.ORMAnnotation.ManyToOne;
public class PropertyValueExtension extends BasePOJO {
@ManyToOne
@JoinColumn(name="pid")
private Product product;
@ManyToOne
@JoinColumn(name="ptid")
private Property property;
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public Property getProperty() {
return property;
}
public void setProperty(Property property) {
this.property = property;
}
}

@ -0,0 +1,21 @@
package tmall.pojo.extension;
import tmall.pojo.base.BasePOJO;
import tmall.annotation.ORMAnnotation.Enumerated;
public class UserExtension extends BasePOJO {
@Enumerated(var = "group_")
private Group group;
public Group getGroup(){
return group;
}
public void setGroup(Group group) {
this.group = group;
}
public enum Group{
unLogin,user,admin,superAdmin;
}
}

@ -0,0 +1,46 @@
package tmall.rest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import tmall.interceptor.AuthInterceptor;
import tmall.interceptor.CategoryNamesBelowSearchInterceptor;
import tmall.interceptor.ConfigInterceptor;
import tmall.service.ConfigService;
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Autowired
ConfigInterceptor configInterceptor;
@Autowired
CategoryNamesBelowSearchInterceptor categoryNamesBelowSearchInterceptor;
//所有的WebMvcConfigurerAdapter组件都会一起起作用
@Bean //将组件注册在容器中
public WebMvcConfigurer webMvcConfigurerAdapter(){
return new WebMvcConfigurer(){
//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
//静态资源; *.css,*.js
//SpringBoot已经做好了静态资源映射
// registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
// .excludePathPatterns("/index.html","/","/user/login","/static/**","/webjars/**");
// /** 表示拦截所有路径下的所有请求
registry.addInterceptor(new AuthInterceptor())
.addPathPatterns("/**");
registry.addInterceptor(configInterceptor)
.addPathPatterns("/**");
registry.addInterceptor(categoryNamesBelowSearchInterceptor)
.addPathPatterns("/**");
}
};
}
}

@ -0,0 +1,31 @@
package tmall.rest;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@ComponentScan(basePackages = {"tmall"})
@EntityScan(basePackages = {"tmall.pojo"})
@MapperScan(basePackages = {"tmall.mapper"})
@EnableTransactionManagement
@EnableAsync
public class TmallApplication {
public static void main(String[] args) {
SpringApplication.run(TmallApplication.class, args);
}
}

@ -0,0 +1,87 @@
package tmall.service;
import tmall.pojo.base.BasePOJO;
import java.util.List;
import org.springframework.stereotype.Service;
/**
* Service使
* listtotal
*/
public interface BaseService extends Service4DAO {
/**
* @param object
* @return
*/
public Integer add(BasePOJO object) throws Exception;
/**
* @param object
*/
public void update(BasePOJO object) throws Exception;
/**
*
* configService.update(list,"value")
* listconfigvalue
*
* @param changeFiledName
*/
public void update(Integer[] ids, String[] values, String changeFiledName) throws Exception;
/**
* setDeleteAtdeleteAt
*
* @param object
*/
public void delete(BasePOJO object) throws Exception;
;
/**
* @param clazz pojo
* @param id id
* @return id
*/
public BasePOJO get(Class clazz, int id) throws Exception;
/**
* @param id id
* @return id
*/
public BasePOJO get(int id) throws Exception;
/**
* @param id id
* @param depth
* @return id
*/
public BasePOJO get(int id, int depth) throws Exception;
/**
* @param paramAndObjects (propertyName,object,propertyName,object....)
* productService list("cid",category.getId()) , products
* 使UserService list("name","xxx","password","xxx") user
*
* order, String order
* xx, String xx = String
* xx_like, String xx like String
* xx_gt, int xx > int
* pagination,paginationObj
* depth, int mapper
* @return
* @see tmall.service.impl.BaseServiceImpl
*/
public List list(Object... paramAndObjects) throws Exception;
/**
* @param paramAndObjects
* @return
*/
public Object getOne(Object... paramAndObjects);
}

@ -0,0 +1,10 @@
package tmall.service;
import org.springframework.stereotype.Service;
import tmall.pojo.CartItem;
import tmall.pojo.User;
public interface CartItemService extends BaseService {
}

@ -0,0 +1,12 @@
package tmall.service;
import tmall.pojo.Category;
import java.util.List;
import org.springframework.stereotype.Service;
public interface CategoryService extends BaseService{
}

@ -0,0 +1,15 @@
package tmall.service;
import org.springframework.stereotype.Service;
import tmall.pojo.Order;
import tmall.pojo.User;
public interface CommentService extends BaseService{
/**
*
* @param order order
* @return truefalse
*/
public boolean checkFinishComment(Order order);
}

@ -0,0 +1,10 @@
package tmall.service;
import java.util.Map;
import org.springframework.stereotype.Service;
public interface ConfigService extends BaseService{
//获取参数的键值对
public Map<String,String> map() throws Exception;
}

@ -0,0 +1,7 @@
package tmall.service;
import org.springframework.stereotype.Service;
public interface OrderItemService extends BaseService{
}

@ -0,0 +1,17 @@
package tmall.service;
import tmall.pojo.CartItem;
import tmall.pojo.Order;
import tmall.pojo.User;
import tmall.service.BaseService;
import java.util.List;
import org.springframework.stereotype.Service;
public interface OrderService extends BaseService{
/**
*
*/
public void createOrder(Order order ,List<CartItem> cartItems) throws Exception;
}

@ -0,0 +1,10 @@
package tmall.service;
import org.springframework.stereotype.Service;
import tmall.pojo.Product;
public interface ProductImageService extends BaseService{
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save