目錄
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 附錄