商铺项目(项目设计和框架搭建)
Posted 虚极静笃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了商铺项目(项目设计和框架搭建)相关的知识,希望对你有一定的参考价值。
系统功能模块划分:
实体类设计(注意使用包装类,因为基础类型有默认值,而不是null)与表创建:
实体类:
package com.ouyan.o2o.entity; import java.util.Date; public class Area { private Long areaId; private String areaName; private String areaDesc; private Integer priority; private Date createTime; private Date lastEditTime; public Long getAreaId() { return areaId; } public void setAreaId(Long areaId) { this.areaId = areaId; } public String getAreaName() { return areaName; } public void setAreaName(String areaName) { this.areaName = areaName; } public String getAreaDesc() { return areaDesc; } public void setAreaDesc(String areaDesc) { this.areaDesc = areaDesc; } public Integer getPriority() { return priority; } public void setPriority(Integer priority) { this.priority = priority; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getLastEditTime() { return lastEditTime; } public void setLastEditTime(Date lastEditTime) { this.lastEditTime = lastEditTime; } }
数据库:
use o2o; create table `tb_area`( `area_id` int NOT NULl auto_increment, `area_name` varchar(200) NOT NULL, `priority` int not null DEFAULT \'0\', `create_time` datetime DEFAULT NULL, `last_edit_time` datetime DEFAULT NULL, primary key(`area_id`), unique key `UK_AREA`(`area_name`) )ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
实体类:
package com.ouyan.o2o.entity; import java.util.Date; public class PersonInfo { private Long userId; private String name; private Date birthday; private String gender; private String phone; private String email; private String profileImg; private Integer customerFlag; private Integer shopOwnerFlag; private Integer adminFlag; private Date createTime; private Date lastEditTime; private Integer enableStatus; public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getProfileImg() { return profileImg; } public void setProfileImg(String profileImg) { this.profileImg = profileImg; } public Integer getCustomerFlag() { return customerFlag; } public void setCustomerFlag(Integer customerFlag) { this.customerFlag = customerFlag; } public Integer getShopOwnerFlag() { return shopOwnerFlag; } public void setShopOwnerFlag(Integer shopOwnerFlag) { this.shopOwnerFlag = shopOwnerFlag; } public Integer getAdminFlag() { return adminFlag; } public void setAdminFlag(Integer adminFlag) { this.adminFlag = adminFlag; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getLastEditTime() { return lastEditTime; } public void setLastEditTime(Date lastEditTime) { this.lastEditTime = lastEditTime; } public Integer getEnableStatus() { return enableStatus; } public void setEnableStatus(Integer enableStatus) { this.enableStatus = enableStatus; } }
数据库:
use o2o; create table `tb_person_info`( `user_id` int not null auto_increment, `name` varchar(32) default null, `profile_img` varchar(1024) DEFAULT NULL, `email` varchar(1024) default null, `gender` varchar(2) DEFAULT NULL, `enable_status` int(2) not null DEFAULT \'0\' COMMENT \'0:禁止使用本商城,1:允许使用本商城\', `user_type` int not null DEFAULT \'1\' comment \'1:顾客,2:店家,3:超级管理员\', `create_time` datetime DEFAULT null, `last_edit_time` datetime DEFAULT null, primary key(`user_id`) )ENGINE=InnoDB auto_increment=1 default CHARSET=utf8
实体类:
package com.ouyan.o2o.entity; import java.util.Date; public class LocalAuth { private Long localAuthId; private String userName; private String password; private Long userId; private Date createTime; private Date lastEditTime; private PersonInfo personInfo; public Long getLocalAuthId() { return localAuthId; } public void setLocalAuthId(Long localAuthId) { this.localAuthId = localAuthId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getLastEditTime() { return lastEditTime; } public void setLastEditTime(Date lastEditTime) { this.lastEditTime = lastEditTime; } public PersonInfo getPersonInfo() { return personInfo; } public void setPersonInfo(PersonInfo personInfo) { this.personInfo = personInfo; } }
package com.ouyan.o2o.entity;
import java.util.Date;
public class WechatAuth {
private Long wechatAuthId;
private Long userId;
private String openId;
private Date createTime;
private PersonInfo personInfo;
public Long getWechatAuthId() {
return wechatAuthId;
}
public void setWechatAuthId(Long wechatAuthId) {
this.wechatAuthId = wechatAuthId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getOpenId() {
return openId;
}
public void setOpenId(String openId) {
this.openId = openId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public PersonInfo getPersonInfo() {
return personInfo;
}
public void setPersonInfo(PersonInfo personInfo) {
this.personInfo = personInfo;
}
}
数据库:
CREATE TABLE `tb_local_auth` (
`local_auth_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`username` varchar(128) NOT NULL,
`password` varchar(128) NOT NULL,
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
PRIMARY KEY (`local_auth_id`),
UNIQUE KEY `uk_local_profile` (`username`),
KEY `fk_local_profile` (`user_id`),
CONSTRAINT `fk_local_profile` FOREIGN KEY (`user_id`) REFERENCES `tb_person_info` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tb_wechat_auth` (
`wechat_auth_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`open_id` varchar(1024) NOT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`wechat_auth_id`),
UNIQUE KEY `open_id` (`open_id`),
KEY `fk_wechatauth_profile` (`user_id`),
CONSTRAINT `fk_wechatauth_profile` FOREIGN KEY (`user_id`) REFERENCES `tb_person_info` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果表已经创建好了,要加唯一索引的话:
实体类:
package com.ouyan.o2o.entity;
import java.util.Date;
public class HeadLine {
private Long lineId;
private String lineName;
private String lineLink;
private String lineImg;
private Integer priority;
private Integer enableStatus;
private Date createTime;
private Date lastEditTime;
public Long getLineId() {
return lineId;
}
public void setLineId(Long lineId) {
this.lineId = lineId;
}
public String getLineName() {
return lineName;
}
public void setLineName(String lineName) {
this.lineName = lineName;
}
public String getLineLink() {
return lineLink;
}
public void setLineLink(String lineLink) {
this.lineLink = lineLink;
}
public String getLineImg() {
return lineImg;
}
public void setLineImg(String lineImg) {
this.lineImg = lineImg;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Integer getEnableStatus() {
return enableStatus;
}
public void setEnableStatus(Integer enableStatus) {
this.enableStatus = enableStatus;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
}
数据库:
create table `tb_head_line`(
`line_id` int not null auto_increment,
`line_name` varchar(1000) default null,
`line_link` varchar(2000) not null,
`line_img` varchar(2000) not null,
`priority` int default null,
`enable_status` int not null default \'0\',
`create_time` datetime default NULL,
`last_edit_time` datetime default null,
primary key(`line_id`)
)engine=InnoDB auto_increment=1 DEFAULT charset=utf8
实体类:
package com.ouyan.o2o.entity;
import java.util.Date;
public class ShopCategory {
private Long shopCategoryId;
private String shopCategoryName;
private String shopCategoryDesc;
private String shopCategoryImg;
private Integer priority;
private Date createTime;
private Date lastEditTime;
private Long parentId;
public Long getShopCategoryId() {
return shopCategoryId;
}
public void setShopCategoryId(Long shopCategoryId) {
this.shopCategoryId = shopCategoryId;
}
public String getShopCategoryName() {
return shopCategoryName;
}
public void setShopCategoryName(String shopCategoryName) {
this.shopCategoryName = shopCategoryName;
}
public String getShopCategoryDesc() {
return shopCategoryDesc;
}
public void setShopCategoryDesc(String shopCategoryDesc) {
this.shopCategoryDesc = shopCategoryDesc;
}
public String getShopCategoryImg() {
return shopCategoryImg;
}
public void setShopCategoryImg(String shopCategoryImg) {
this.shopCategoryImg = shopCategoryImg;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
}
数据库:
CREATE TABLE `tb_shop_category` (
`shop_category_id` int NOT NULL AUTO_INCREMENT,
`shop_category_name` varchar(100) NOT NULL DEFAULT \'\',
`shop_category_desc` varchar(1000) DEFAULT \'\',
`shop_category_img` varchar(2000) DEFAULT NULL,
`priority` int NOT NULL DEFAULT \'0\',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
`parent_id` int DEFAULT NULL,
PRIMARY KEY (`shop_category_id`),
KEY `fk_shop_category_self` (`parent_id`),
CONSTRAINT `fk_shop_category_self` FOREIGN KEY (`parent_id`) REFERENCES `tb_shop_category` (`shop_category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;
实体类:
package com.ouyan.o2o.entity;
import java.util.Date;
import java.util.List;
public class Shop {
private Long shopId;
private Long ownerId;
private Long shopCategoryId;
private String shopName;
private String shopDesc;
private String shopAddr;
private String phone;
private String shopImg;
private Double longitude;
private Double latitude;
private Integer priority;
private Date createTime;
private Date lastEditTime;
private Integer enableStatus;
private String advice;
private Area area;
private ShopCategory shopCategory;
private ShopCategory parentCategory;
public Long getShopId() {
return shopId;
}
public void setShopId(Long shopId) {
this.shopId = shopId;
}
public Long getOwnerId() {
return ownerId;
}
public void setOwnerId(Long ownerId) {
this.ownerId = ownerId;
}
public Long getShopCategoryId() {
return shopCategoryId;
}
public void setShopCategoryId(Long shopCategoryId) {
this.shopCategoryId = shopCategoryId;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getShopDesc() {
return shopDesc;
}
public void setShopDesc(String shopDesc) {
this.shopDesc = shopDesc;
}
public String getShopAddr() {
return shopAddr;
}
public void setShopAddr(String shopAddr) {
this.shopAddr = shopAddr;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getShopImg() {
return shopImg;
}
public void setShopImg(String shopImg) {
this.shopImg = shopImg;
}
public Double getLongitude() {
return longitude;
}
public void setLongitude(Double longitude) {
this.longitude = longitude;
}
public Double getLatitude() {
return latitude;
}
public void setLatitude(Double latitude) {
this.latitude = latitude;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Integer getEnableStatus() {
return enableStatus;
}
public void setEnableStatus(Integer enableStatus) {
this.enableStatus = enableStatus;
}
public Area getArea() {
return area;
}
public void setArea(Area area) {
this.area = area;
}
public ShopCategory getShopCategory() {
return shopCategory;
}
public void setShopCategory(ShopCategory shopCategory) {
this.shopCategory = shopCategory;
}
public String getAdvice() {
return advice;
}
public void setAdvice(String advice) {
this.advice = advice;
}
public String toString() {
return "[shopId=" + shopId + ", shopName=" + shopName + "]";
}
public ShopCategory getParentCategory() {
return parentCategory;
}
public void setParentCategory(ShopCategory parentCategory) {
this.parentCategory = parentCategory;
}
}
数据库:
CREATE TABLE `tb_shop` (
`shop_id` int(10) NOT NULL AUTO_INCREMENT,
`owner_id` int(10) NOT NULL COMMENT \'店铺创建人\',
`area_id` int(5) DEFAULT NULL,
`shop_category_id` int(11) DEFAULT NULL,
`parent_category_id` int(11) DEFAULT NULL,
`shop_name` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
`shop_desc` varchar(1024) COLLATE utf8_unicode_ci DEFAULT NULL,
`shop_addr` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`phone` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL,
`shop_img` varchar(1024) COLLATE utf8_unicode_ci DEFAULT NULL,
`longitude` double(16,12) DEFAULT NULL,
`latitude` double(16,12) DEFAULT NULL,
`priority` int(3) DEFAULT \'0\',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
`enable_status` int(2) NOT NULL DEFAULT \'0\',
`advice` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`shop_id`),
KEY `fk_shop_profile` (`owner_id`),
KEY `fk_shop_area` (`area_id`),
KEY `fk_shop_shopcate` (`shop_category_id`),
KEY `fk_shop_parentcate` (`parent_category_id`),
CONSTRAINT `fk_shop_area` FOREIGN KEY (`area_id`) REFERENCES `tb_area` (`area_id`),
CONSTRAINT `fk_shop_parentcate` FOREIGN KEY (`parent_category_id`) REFERENCES `tb_shop_category` (`shop_category_id`),
CONSTRAINT `fk_shop_profile` FOREIGN KEY (`owner_id`) REFERENCES `tb_person_info` (`user_id`),
CONSTRAINT `fk_shop_shopcate` FOREIGN KEY (`shop_category_id`) REFERENCES `tb_shop_category` (`shop_category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
商品类别:
实体类:
package com.ouyan.o2o.entity;
import java.util.Date;
public class ProductCategory {
private Long productCategoryId;
private Long shopId;
private String productCategoryName;
private String productCategoryDesc;
private Integer priority;
private Date createTime;
private Date lastEditTime;
public Long getProductCategoryId() {
return productCategoryId;
}
public void setProductCategoryId(Long productCategoryId) {
this.productCategoryId = productCategoryId;
}
public Long getShopId() {
return shopId;
}
public void setShopId(Long shopId) {
this.shopId = shopId;
}
public String getProductCategoryName() {
return productCategoryName;
}
public void setProductCategoryName(String productCategoryName) {
this.productCategoryName = productCategoryName;
}
public String getProductCategoryDesc() {
return productCategoryDesc;
}
public void setProductCategoryDesc(String productCategoryDesc) {
this.productCategoryDesc = productCategoryDesc;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public String toString() {
return "[productCategoryId=" + productCategoryId
+ ", productCategoryIdName=" + productCategoryName + "]";
}
}
数据库:
CREATE TABLE `tb_product_category` (
`product_category_id` int(11) NOT NULL AUTO_INCREMENT,
`product_category_name` varchar(100) NOT NULL,
`product_category_desc` varchar(500) DEFAULT NULL,
`priority` int(2) DEFAULT \'0\',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
`shop_id` int(20) NOT NULL DEFAULT \'0\',
PRIMARY KEY (`product_category_id`),
KEY `fk_procate_shop` (`shop_id`),
CONSTRAINT `fk_procate_shop` FOREIGN KEY (`shop_id`) REFERENCES `tb_shop` (`shop_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
详情图片:
实体类:
package com.ouyan.o2o.entity;
import java.util.Date;
public class ProductImg {
private Long productImgId;
private String imgAddr;
private String imgDesc;
private Integer priority;
private Date createTime;
private Long productId;
public Long getProductImgId() {
return productImgId;
}
public void setProductImgId(Long productImgId) {
this.productImgId = productImgId;
}
public String getImgAddr() {
return imgAddr;
}
public void setImgAddr(String imgAddr) {
this.imgAddr = imgAddr;
}
public String getImgDesc() {
return imgDesc;
}
public void setImgDesc(String imgDesc) {
this.imgDesc = imgDesc;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Long getProductId() {
return productId;
}
public void setProductId(Long productId) {
this.productId = productId;
}
}
数据库:
CREATE TABLE `tb_product_img` (
`product_img_id` int(20) NOT NULL AUTO_INCREMENT,
`img_addr` varchar(2000) NOT NULL,
`img_desc` varchar(2000) DEFAULT NULL,
`priority` int(2) DEFAULT \'0\',
`create_time` datetime DEFAULT NULL,
`product_id` int(20) DEFAULT NULL,
PRIMARY KEY (`product_img_id`),
KEY `fk_proimg_product` (`product_id`),
CONSTRAINT `fk_proimg_product` FOREIGN KEY (`product_id`) REFERENCES `tb_product` (`product_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;
实体类:
package com.ouyan.o2o.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class Product implements Serializable{
/**
*
*/
private static final long serialVersionUID = -349433539553804024L;
private Long productId;
private String productName;
private String productDesc;
private String imgAddr;// 简略图
private String normalPrice;
private String promotionPrice;
private Integer priority;
private Date createTime;
private Date lastEditTime;
private Integer enableStatus;
private Integer point;
private List<ProductImg> productImgList;
private ProductCategory productCategory;
private Shop shop;
public Long getProductId() {
return productId;
}
public void setProductId(Long productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductDesc() {
return productDesc;
}
public void setProductDesc(String productDesc) {
this.productDesc = productDesc;
}
public String getImgAddr() {
return imgAddr;
}
public void setImgAddr(String imgAddr) {
this.imgAddr = imgAddr;
}
public String getNormalPrice() {
return normalPrice;
}
public void setNormalPrice(String normalPrice) {
this.normalPrice = normalPrice;
}
public String getPromotionPrice() {
return promotionPrice;
}
public void setPromotionPrice(String promotionPrice) {
this.promotionPrice = promotionPrice;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(Date lastEditTime) {
this.lastEditTime = lastEditTime;
}
public Integer getEnableStatus() {
return enableStatus;
}
public void setEnableStatus(Integer enableStatus) {
this.enableStatus = enableStatus;
}
public Integer getPoint() {
return point;
}
public void setPoint(Integer point) {
this.point = point;
}
public List<ProductImg> getProductImgList() {
return productImgList;
}
public void setProductImgList(List<ProductImg> productImgList) {
this.productImgList = productImgList;
}
public ProductCategory getProductCategory() {
return productCategory;
}
public void setProductCategory(ProductCategory productCategory) {
this.productCategory = productCategory;
}
public Shop getShop() {
return shop;
}
public void setShop(Shop shop) {
this.shop = shop;
}
}
数据库:
CREATE TABLE `tb_product` (
`product_id` int(100) NOT NULL AUTO_INCREMENT,
`product_name` varchar(100) NOT NULL,
`product_desc` varchar(2000) DEFAULT NULL,
`img_addr` varchar(2000) DEFAULT \'\',
`normal_price` varchar(100) DEFAULT NULL,
`promotion_price` varchar(100) DEFAULT NULL,
`priority` int(2) NOT NULL DEFAULT \'0\',
`create_time` datetime DEFAULT NULL,
`last_edit_time` datetime DEFAULT NULL,
`enable_status` int(2) NOT NULL DEFAULT \'0\',
`point` int(10) DEFAULT NULL,
`product_category_id` int(11) DEFAULT NULL,
`shop_id` int(20) NOT NULL DEFAULT \'0\',
PRIMARY KEY (`product_id`),
KEY `fk_product_shop` (`shop_id`),
KEY `fk_product_procate` (`product_category_id`),
CONSTRAINT `fk_product_procate` FOREIGN KEY (`product_category_id`) REFERENCES `tb_product_category` (`product_category_id`),
CONSTRAINT `fk_product_shop` FOREIGN KEY (`shop_id`) REFERENCES `tb_shop` (`shop_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
实体类和表的设计已经完成了。
接下来,配置Maven:
新建两个源文件:
然后在web-app下新建一个folder,命名为:resources,用于存放静态资源。(注意WEB-INF下的文件是无法直接访问的)
创建如下package:
接下来配置pom.xml(注意如果没有<scope></scope>的话,默认是compile),也就是依赖包:
另外注意:这个是给填充值。
Spring需要八个jar包,此外还依赖三个jar:和
<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 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.imooc.demo</groupId> <artifactId>myo2o</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>myo2o Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <spring.version>4.3.7.RELEASE</spring.version> </properties> <dependencies> <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- 1.日志 --> <!-- 实现slf4j接口并整合 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.1</version> </dependency> <!-- 2.数据库 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.37</version> <scope>runtime</scope> </dependency> <dependency> <groupId>c3p0</group以上是关于商铺项目(项目设计和框架搭建)的主要内容,如果未能解决你的问题,请参考以下文章