1 关于#号和$的区别
# 号
1使用#号传参有预编译效果 ,有效防止sql注入攻击 (PrepreadStatement 有预编译效果,防止sql注入攻击)
2为参数添加一对""号
约定:能用#号不用$
$ 号
只有以字段的名称为参数时(就是和数据库表中的字段名称一样时),才用$符
2 不同的数据库对于大小写,有不同的要求
操作系统中,windows不区分大小写,但是linux中严格区分
严格区分大小写,保持一致统统小写(不然会出现你在windows中没有错,部署到LINUX上连服务器都起不来)
3 Mybatis的mapper接口不允许多值传输
思路:
将多值封装为单值
1 将值封装到对象中pojo
2 将值封装为集合 数组array/List集合/Map集合
4 Ecilipse中快捷键的使用
ctrl+shift+y 大写 转 小写
ctrl+shift+x 小写 转 大写
5 limit使用方法(两个参数)
limit在较大数据量的情况下,分页查询效率较高,因为它只查询当前页的数据
limit (起始位置,查询记录数)
6 项目中编码问题
@ResponseBody进行数据解析时,如果解析的是对象(pojo/vo/List/Map..)
默认格式都采用utf-8格式解析.
如果解析的数据是String类型,则按照iso-8859-1格式进行解析.
7 Spring创建代理对象的原则
如果被代理者实现了接口,则采用JDK代理
如果没有实现接口,则采用CGLIB代理
特点:只有CGLIB可以强制使用, 强制使用JDK代理有风险