1.双重if嵌套,层层过滤条件
2.今后如果需求带有统计xxx,请先想到计数器变量,计数器变量定义的位置,必须在循环外部.看见集合、数组啥的首先想到遍历.
3.重写比较器:
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 指定排序规则
// 前减后:升序
// 后减前:降序
// 前:第一个参数 o1
// 后:第二个参数 o2
return o2 - o1;
}
});
4.数据库的case函数
SELECT
case username
when 'john1' then concat('超级管理员','6666666666')
when 'lily' then '2管理'
when 'liugang' then '3管理'
else '其他普通用户' end as result
FROM admin;
5.接口式编程:原生: Dao ====> DaoImpl;mybatis:Mapper ====> xxMapper.xml;mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象。(将接口和xml进行绑定)
6.多条记录封装一个map:Map<Integer,Employee>:键是这条记录的主键,值是记录封装后的javaBean,@MapKey:告诉mybatis封装这个map的时候使用哪个属性作为map的key;返回一条记录的map;key就是列名,值就是对应的值
7.查询的时候如果某些条件没带可能sql拼装会有问题,1、给where后面加上1=1,以后的条件都and xxx,2、mybatis使用where标签来将所有的查询条件包括在内。mybatis就会将where标签中拼装的sql,多出来的and或者or去掉,/where只会去掉第一个多出来的and或者or。
8.parameterType:参数类型,可以省略,
9.一对一的两种映射方式:
一对多映射:
10.resultType:如果返回的是一个集合,要写集合中元素的类型
11.带那个参数就用那个查询choose标签:
12.批量保存:
13.自定义规则映射