抽象类和接口区别
相同:抽象类和接口都不能被实例化
都能包含抽象方法
不同:调用接口需要接口的实现类来进行调用
抽象类有构造器和初始化块 接口没有
抽象类能定义静态常量和变量 接口不能定义变量 可以定义静态常量
mybatis中#和$区别
#{}将参数替换为?然后调用PreparedStatement的set方法来赋值
${}是将参数直接替换为值 这个存在sql注入风险
索引失效
or必须全有索引
复合索引未用左字段
like以%开头
类型转换
where中索引列有运算
where索引用到函数