
最代码官方 LV168
2014年7月26日
整个源码限于时间,等有空分享吧,先只说下db设计吧。
提问表已经解答过,请参考这个:最代码数据库设计,期待牛哥分析~大家快来学习啦~!
回答表结构如下:
CREATE TABLE `zuidaima_answer` ( `id` bigint(20) unsigned NOT NULL auto_increment, `create_time` datetime NOT NULL, `update_time` datetime default NULL, `user_id` bigint(20) NOT NULL, `content` longtext NOT NULL, `extend_json` varchar(10000) default '', `target_id` bigint(20) NOT NULL COMMENT '项目id,或分享,或寻求', `is_perfect` int(2) NOT NULL default '0' COMMENT '是否是最完美回答,0否1是', `status` int(2) NOT NULL COMMENT '-1删除0待审核2正常', `publish_time` datetime default NULL, `first_sort` int(11) NOT NULL default '0', `second_sort` int(11) NOT NULL default '0', `third_sort` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
提问可以有多个回答。
java bean类如下:
Project.java
package com.zuidaima.core.module; /** **@author www.zuidaima.com 2013-06-13 23:23:35 */ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; import net.sf.json.JSONObject; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.log4j.Logger; import org.springframework.data.domain.Page; import com.javaniu.core.constants.ModuleConstants; import com.javaniu.core.util.StringUtil; @Entity @Table(name = "zuidaima_project") public class Project extends BaseEntity { private static final Logger logger = Logger.getLogger(Project.class); private long userId = 0; private User user; private int type; private String title; private String content; private int status = ModuleConstants.MODULE_STATUS_VERIFING; private String extendJson; private JSONObject extend; private String topics; private long sourceId = 0; private BaseEntity source; private int firstSort;// view count sort private int secondSort;// download count sort private int thirdSort;// comment count sort private Page<Comment> comments; private Date publishTime; private String contentExt; private String contentExt2; private String contentExt3; private String fromUrl; private long uuid; private String tags; public Project() { this.createTime = new Date(); this.updateTime = createTime; } @Column(name = "user_id") public long getUserId() { return this.userId; } public void setUserId(long userId) { this.userId = userId; } public int getType() { return this.type; } public void setType(int type) { this.type = type; } public String getTitle() { return this.title; } public void setTitle(String title) { this.title = title; } public String getContent() { return this.content; } public void setContent(String content) { this.content = content; } public int getStatus() { return this.status; } public void setStatus(int status) { this.status = status; } @Column(name = "extend_json") public String getExtendJson() { return this.extendJson; } public void setExtendJson(String extendJson) { this.extendJson = extendJson; } @Transient public JSONObject getExtend() { if (extendJson == null || extendJson.trim().equals("")) { extend = new JSONObject(); } else { try { extend = JSONObject.fromObject(extendJson); } catch (Exception e) { logger.error("JSONObject.fromObject():" + e.getMessage() + ",extendJson:" + extendJson); extend = new JSONObject(); } } if (!extend .containsKey(ModuleConstants.PROJECT_EXTEND_JSON_ANSWER_COUNT)) { extend.put(ModuleConstants.PROJECT_EXTEND_JSON_ANSWER_COUNT, 0); } if (!extend.containsKey(ModuleConstants.PROJECT_EXTEND_JSON_NIUBI)) { extend.put(ModuleConstants.PROJECT_EXTEND_JSON_NIUBI, ModuleConstants.PROJECT_DEFAULT_NIUBI); } if (!extend .containsKey(ModuleConstants.PROJECT_EXTEND_JSON_COLLECT_COUNT)) { extend.put(ModuleConstants.PROJECT_EXTEND_JSON_COLLECT_COUNT, 0); } if (!extend.containsKey(ModuleConstants.PROJECT_EXTEND_IS_VALIDATED)) { extend.put(ModuleConstants.PROJECT_EXTEND_IS_VALIDATED, 0); } if (!extend.containsKey(ModuleConstants.PROJECT_EXTEND_IS_PERFECT)) { extend.put(ModuleConstants.PROJECT_EXTEND_IS_PERFECT, 0); } if (!extend.containsKey(ModuleConstants.PROJECT_EXTEND_IS_ORGINAL)) { extend.put(ModuleConstants.PROJECT_EXTEND_IS_ORGINAL, 0); } if (!extend.containsKey(ModuleConstants.PROJECT_EXTEND_IS_REORGANIZE)) { extend.put(ModuleConstants.PROJECT_EXTEND_IS_REORGANIZE, 1); } return extend; } public void setExtend(JSONObject extend) { this.extend = extend; } public String getTopics() { return this.topics; } public void setTopics(String topics) { this.topics = topics; } @Column(name = "source_id") public long getSourceId() { return this.sourceId; } public void setSourceId(long sourceId) { this.sourceId = sourceId; } @Transient public BaseEntity getSource() { return source; } public void setSource(BaseEntity source) { this.source = source; } @Column(name = "first_sort") public int getFirstSort() { return firstSort; } public void setFirstSort(int firstSort) { this.firstSort = firstSort; } @Column(name = "second_sort") public int getSecondSort() { return secondSort; } public void setSecondSort(int secondSort) { this.secondSort = secondSort; } @Column(name = "third_sort") public int getThirdSort() { return thirdSort; } public void setThirdSort(int thirdSort) { this.thirdSort = thirdSort; } @Transient public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Transient public Page<Comment> getComments() { return comments; } public void setComments(Page<Comment> comments) { this.comments = comments; } @Column(name = "publish_time") public Date getPublishTime() { return publishTime; } public void setPublishTime(Date publishTime) { this.publishTime = publishTime; } @Transient public String getContentExt() { contentExt = StringUtil.formatContent(content); return contentExt; } public void setContentExt(String contentExt) { this.contentExt = contentExt; } @Transient public String getContentExt2() { contentExt2 = StringUtil.formatContentImgs(content); return contentExt2; } public void setContentExt2(String contentExt2) { this.contentExt2 = contentExt2; } @Transient public String getContentExt3() { contentExt3 = StringUtil.formatContentImgs2(content); return contentExt3; } public void setContentExt3(String contentExt3) { this.contentExt3 = contentExt3; } @Column(name = "from_url") public String getFromUrl() { return fromUrl; } public void setFromUrl(String fromUrl) { this.fromUrl = fromUrl; } public long getUuid() { return uuid; } public void setUuid(long uuid) { this.uuid = uuid; } public String getTags() { return tags; } public void setTags(String tags) { this.tags = tags; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }
Answer.java
package com.zuidaima.core.module; /** **@author www.zuidaima.com 2013-06-13 23:27:04 */ import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; import net.sf.json.JSONObject; import org.apache.commons.lang.builder.ToStringBuilder; import org.springframework.data.domain.Page; import com.javaniu.core.constants.ModuleConstants; import com.javaniu.core.util.StringUtil; @Entity @Table(name = "zuidaima_answer") public class Answer extends BaseEntity { private long userId = 0; private User user; private String content; private String extendJson; private JSONObject extend; private long targetId = 0; private BaseEntity target; private int isPerfect = ModuleConstants.ANSWER_IS_PERFECT_NO; private int status = ModuleConstants.MODULE_STATUS_NORMAL; private Page<Comment> comments; private Date publishTime; private String contentExt; private String contentExt2; private int firstSort; private int secondSort; private int thirdSort;// comment count sort public Answer() { this.createTime = new Date(); this.updateTime = createTime; } @Column(name = "user_id") public long getUserId() { return this.userId; } public void setUserId(long userId) { this.userId = userId; } public String getContent() { return this.content; } public void setContent(String content) { this.content = content; } @Column(name = "extend_json") public String getExtendJson() { return this.extendJson; } public void setExtendJson(String extendJson) { this.extendJson = extendJson; } @Transient public JSONObject getExtend() { if (extendJson == null) { extend = new JSONObject(); } else { extend = JSONObject.fromObject(extendJson); } if (!extend .containsKey(ModuleConstants.ANSWER_EXTEND_JSON_DOWNLOAD_COUNT)) { extend.put(ModuleConstants.ANSWER_EXTEND_JSON_DOWNLOAD_COUNT, 0); } if (!extend.containsKey(ModuleConstants.ANSWER_EXTEND_JSON_FILE_SIZE)) { extend.put(ModuleConstants.ANSWER_EXTEND_JSON_FILE_SIZE, 0); } return extend; } public void setExtend(JSONObject extend) { this.extend = extend; } @Column(name = "target_id") public long getTargetId() { return this.targetId; } public void setTargetId(long targetId) { this.targetId = targetId; } @Transient public BaseEntity getTarget() { return target; } public void setTarget(BaseEntity target) { this.target = target; } @Column(name = "is_perfect") public int getIsPerfect() { return this.isPerfect; } public void setIsPerfect(int isPerfect) { this.isPerfect = isPerfect; } public int getStatus() { return this.status; } public void setStatus(int status) { this.status = status; } @Transient public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Transient public Page<Comment> getComments() { return comments; } public void setComments(Page<Comment> comments) { this.comments = comments; } @Column(name = "publish_time") public Date getPublishTime() { return publishTime; } public void setPublishTime(Date publishTime) { this.publishTime = publishTime; } @Transient public String getContentExt() { contentExt = StringUtil.formatContent(content); return contentExt; } public void setContentExt(String contentExt) { this.contentExt = contentExt; } @Transient public String getContentExt2() { contentExt2 = StringUtil.formatContentImgs(content); return contentExt2; } public void setContentExt2(String contentExt2) { this.contentExt2 = contentExt2; } @Column(name = "first_sort") public int getFirstSort() { return firstSort; } public void setFirstSort(int firstSort) { this.firstSort = firstSort; } @Column(name = "second_sort") public int getSecondSort() { return secondSort; } public void setSecondSort(int secondSort) { this.secondSort = secondSort; } @Column(name = "third_sort") public int getThirdSort() { return thirdSort; } public void setThirdSort(int thirdSort) { this.thirdSort = thirdSort; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?