log4j日志级别
- debug:调试级别
- info:信息级别
- warn:警告级别
- error:错误级别
- fatal:崩溃级别
spring mvc特点
- 基于的是servlet/jsp模式
- 控制器不再需要继承其他类,只需要用@Controller注释
- 控制器方法签名定义灵活
- 返回页面直接在方法中指定,可以是string,也可以是其他的
- 性能优秀
spring 管理整个项目,每个spring组件都由spring容器产生,所有在web容器启动时,要读取spring的配置文件,从而加载spring容器中的组件
mybatis的简介
- mybatis是一种持久层框架,也属于orm映射,前身是ibatis
- 相比于Hibernate,Hibernate为全动自动化,配置文件书写之后不需要书写sql语句,但欠缺灵活,很多时候需要优化
- mybiatis为半自动化,需要自己写sql语句,需要自己定义映射,增加了程序员的一些操作,但带来了设计上的灵活,并且也支持Hibernate的一些特性,如延迟加载,缓存,映射等
- 对数据库的兼容性比Hibernate差,移植性不好
mybatis组成
- 核心对象:sqlsessionfactory sqlsession
- 配置文件:mybatis.cfg.xml 相当于Hibernate的hibernate.cfg.xml
- 多个类配置文件:user.xml相当于Hibernate的映射类文件
- 支持注解配置
配置url是在后面加上allowMultiQueries=true表示允许一个语句块中添加多条sql语句
mybatis.xml命名空间
- 在orm文件根目录下加入
- mapper namespace=“user” -- 设置命名空间
- 命名空间的作用:更好的分类sql语句块,更好维护。防治SQL语句块重名
- 在设置了命名空间后,那么在响应的程序调用中,可以使用命名空间,语句块名,进行调用相应的sql语句
$和#的区别
- #在生成sql时,对于字符类型参数,会拼装引号
- $在生成sql时,不会拼装引号,可用于order by 之类的参数拼装
CDATA
用于把争端文本接受为纯字符数据而不是标记的情况,包含大量<,>,&或者“字符,CDATA 借种的所有字符都会被当做元素字符数据的常量部分