是一种持久层框架,也属于orm映射,前身世ibatis。
相比于hibernaye,hibernate为全自动化,配置文件书写之后不需要书写SQL语句,但欠缺灵活,很多时候需要优化。mybatis为半自动化,需要自己写SQL语句,
需要自己定义映射。增加了程序员的一些操作,但带来了设计上的灵活,并且也支持hibernate的一些特性,如延迟加载,缓存,映射等。
对数据库的兼容性比hibernate差。移植性不好,但可编写灵活和高性能的SQL语句
核心对象:SqlSessionFactory SqlSession
配置文件:mybatis.cfg.xml 相当于hibernate的hibernate.cfg.xml
多个类配置文件:user.xml相对与hibernate的映射类文件
支持注解配置
mybatis射姿和url时,加上allowMultiQueries=true 运行一个语句块中添加多条SQL语句 &转义&
在orm文件更目录下加入
<mapper namespace="user">
设置命名空间
命名空间的作用:
更好的分类SQL语句块,更好维护
防止SQL语句块重名
在设置了命名空间后,那么在相应的程序调用中,方可以使用“命名空间。语句块名”进行调用相应SQL语句。
#和$
#在生成SQL是,对于字符串型参数,会拼装引号
$在生产SQL时,不会拼装引号,可用于order by之类的参数拼装
XML标签
CDATA是不被解析器解析的文本。文本内的标签不会被当作标签处理。
<![CDATA[
..................]]>中间无论写什么都会当成字符串处理,不会当作标记处理