发表于: 2016-07-02 18:19:15
0 2282
补充一下昨天的日报:
今天完成的事情:
1.java组开会晓进姐分配任务确定我跟钊诚开始做爱燕窝的实际项目。
1)首先拿到艾燕窝的源码,原型图,根据源码中的model中的java定义的变量以及类型建表,并注意以下几点:
#1 老大的这个表很规范,一定按照他的格式来填写,相比之前做任务时的代码跟mysql语句,现在终于明白代码规范的重要性了。
#2 表的结构如上图所示,包含表名,表字段,索引,SQL文,常量,service端口。这几个部分,填充的内容都在这几个部分的里面
#3新建表的时候一定要在标签表名修改为tbl_表名,否则代码生成的时候不会识别该表,每一个表字段必须包含create_at, create_by, update_at, update_by这四个字段,不添加的话需要在生成的代码中手动添加,比较浪费时间。
#4Java中的数据类型跟mysql中的数据类型一定要匹配好,详情参考下表:
Java数据类型 | Hibernate数据类型 | 标准SQL数据类型 |
byte、java.lang.Byte | byte | TINYINT |
short、java.lang.Short | short | SMALLINT |
int、java.lang.Integer | integer | INTEGER |
long、java.lang.Long | long | BIGINT |
float、java.lang.Float | float | FLOAT |
double、java.lang.Double | double | DOUBLE |
java.math.BigDecimal | big_decimal | NUMERIC |
char、java.lang.Character | character | CHAR(1) |
boolean、java.lang.Boolean | boolean | BIT |
java.lang.String | string | VARCHAR |
boolean、java.lang.Boolean | yes_no | CHAR(1)(‘Y’或‘N’) |
boolean、java.lang.Boolean | true_false | CHAR(1)(‘Y’或‘N’) |
java.util.Date、java.sql.Date | date | DATE |
java.util.Date、java.sql.Time | time | TIME |
java.util.Date、java.sql.Timestamp | timestamp | TIMESTAMP |
java.util.Calendar | calendar | TIMESTAMP |
java.util.Calendar | calendar_date | DATE |
byte[] | binary | VARBINARY、BLOB |
java.lang.String | text | CLOB |
java.io.Serializable | serializable | VARBINARY、BLOB |
java.sql.Clob | clob | CLOB |
java.sql.Blob | blob | BLOB |
java.lang.Class | class | VARCHAR |
java.util.Locale | locale | VARCHAR |
java.util.TimeZone | timezone | VARCHAR |
java.util.Currency | currency | VARCHAR |
#5建表的时候一定要注意避免将表名建的跟mysql的关键字一样,这个项目的订单系统用的order,可能之前师兄发现在实际操作过程中出现了问题,所以在程序中将表名变成了t_order,导致用语句alter table order rename to t_order根本用不了,使用navicat才修改过来。这个mysql的关键字需要自己网上查。
#6另外快递单词express被写成了espress,mysql中的字段命名首先要避免关键字,此外要让看的人了解该字段的意思;单从建表这一块,就明白老大说的代码规范的意义了,让别人看你的代码或者codereview的时候会很方便,不然就成了别人看你的代码就像扒开你拉的屎看你昨天吃了什么东西。
2.代码生成,这个需要用到svn上的原有项目common来生成,然后将根据你的项目结构来选对应的文件copy过去就可以了。
#这个艾燕窝的框架,估计用到了Task8中的将web端跟service分离的东西,目前只是将生成的代码粘贴到相关的位置,明天再好好熟悉一下,并开始写接口。
明天计划的事情:
1.熟悉艾燕窝的框架,并初步开始写接口。
遇到的问题:
1.MD5加密的方式详细了解,目前比较感兴趣,但是还是不懂加密方式。(未解决)
2.mysql语句中的额表名命名为为关键字后能用sql语句去修改?(未解决)
3.将生成的代码复制到相应的位置后还是启动不了服务,师兄的可以,先用师兄的框架,把问题的框架保留再去解决。
收获:
1.建表的规范性,避免数据库关键字,以及字段命名的规范性。
评论