代码规范
1.1命名规范
变量:小驼峰命名,userId,
类: 大驼峰命名法 UserDao
普通类(Execption),抽象Abstract或者Base开头,测试类以Test结尾,枚举类(Enum)
包名: 一律小写,而且一定要写,帮助代码分类
不要不要不要用拼音
代码要有可读性,你的变量,方法,类的定义,见名知意
注意排版
尽量多写注释
属性要私有化,又要提供公共访问方法
类名.属性
对象.setPassword(){
log.write(time);
}
三大思想:封装
将属性私有化,然后提供公共的方法去访问私有属性
1.属性私有化,private
2.属性设置getter,setter方法
3.在赋值或取值方法中,加入对属性的存取限制
封装的好处
1.隐藏了类的实现细节
2.让使用者只能通过事先指定的方法来访问数据,可以方便的加入控制方法,限制对属性的不合理操作
3.便于修改,增强的代码的维护性和健壮性。
4.提高安全性
DQL(查询语句)
-
排序查询
order by: 排序
order by 排序字段1,排序字段2
2.聚合函数
count:计算个数
max: 最大值
min: 最小值
sum:总和
avg: 平均数
3.分组查询
1.关键字 group by,分组字段
2.注意:
1.having 和 where :where是分组前进行限定,如果不满足条件,则不参与分组,having是在分组后参与限定,如果不满足,就不会被查出来
2.where不可以和聚合函数一起用,having对聚合函数进行判断
4.分页查询
mysql方言
语法: limit 开始的索引, 每页的查询数,
公式: (当前页数-1)*每页的查询数
约束
概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性
分类
主键约束 primary key
非空约束 not null
唯一约束 unique
外键约束 foreign key
让表与表之间产生关系,从而保证数据的正确性
数据库的设计
1.多表之间的关系
1.分类
1.一对一 人和身份证 在任意一方添加外键指向另一方的主键
2.一对多 部门和员工 在多的一方建立外键,指向少的一方的主键
3.多对多 学生和课程 需要第三种中间表,中间表必须包含两个字段,是中间表外键,指向其他两张表 的主键