项目中琐碎知识 (一)

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代理有风险


原文地址:https://www.cnblogs.com/misscai/p/9885486.html