目录
1 编程规约
1.1 命名风格
public interface BmsMenuMapper {
int countByExample(BmsMenuExample example);
BmsMenu getByPrimaryKey(String menuId);
List<BmsMenu> listBmsMenus(String roldId);
}
public enum StatusEnum {
NONE(-1, "未知"), INACTIVE(0, "未激活"), ACTIVE(1, "已激活"), LOCK(2, "锁定"), CLOSE(3, "销户"), DELETE(4, "删除");
private final Integer value;
private final String info;
private StatusEnum(Integer value, String info) {
this.value = value;
this.info = info;
}
public Integer getValue() {
return value;
}
public String getStringValue() {
return this.value + "";
}
public String getInfo() {
return info;
}
public static StatusEnum getStatusEnum(Integer value) {
if (value == null) {
return StatusEnum.NONE;
}
for (StatusEnum statusEnum : StatusEnum.values()) {
if (statusEnum.value.equals(value)) {
return statusEnum;
}
}
return StatusEnum.NONE;
}
}
使用示例
kbStatus == StatusEnum.ACTIVE.getValue()
1.2 常量定义
1.3 代码格式
1.4 OOP规约
import com.alibaba.fastjson.JSONObject;
public class BmsMenu {
private String menuId;
private Byte isLeaf;
private Integer menuDisplayOrder;
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}
1.5 集合处理
/**
* 获取商户每天的调用明细:反欺诈云、资信云
*/
private void getAFAndWHCallDetails(Date beginDate, Date endDate, List<Date> dateRange){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> head = new HashMap<>(16);
...
}
1.6 并发处理
1.7 控制语句
2 异常日志
2.1 日志规约
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Controller
@RequestMapping("/partnertype")
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class PartnerTypeController {
private static final Logger logger = LoggerFactory.getLogger(PartnerTypeController.class);
......
}
3 MySQL数据库
3.1 建表规约
3.2 索引规约
3.3 SQL语句
3.4 ORM映射
4 工程结构
4.1 应用分层
5 附录