2020-01-14

Mybatis

MyBatis

实现java的MVC思想中 ,数据持久层框架

内部封装了jdbc的功能,省略了jdbc接口操作

替代了dao层,不需要写实现类。

实现动态语句查询。

有一套完善的ormapping的映射机制。

提供了一套二级缓存的机制,使查询效率更快。

做重复查询的时候,它把上回查询的数据从二级缓存中直接拿出来让你用,查询速度更快

问题:会出现脏数据,别人修改之后,还会查询到之前的,修复但是不够完善,有可能有漏洞。

缓存类数据库用于查询

用法

①导入Lib文件夹中所需要的的Jar包

②创建一个config的资源目录,里面放一个log4j的文档,和一个SqlMapConfig的xml文件,里面需要更改驱动名字,url地址,数据库用户名和密码,相当于jdbc工具类里面的创建连接,还需改一个映射类,地址是mapper包下的类

③创建一个mybatiis的普通包,里面创建一个工具类,

内容包括假造Mybatis的主配置文件,创建session的工厂类和一个返回值为ssf.opensession()的get方法

④创建一个mapper的普通包,里面加一个xml的文件,相当于daobean 层,有select,delete,update,insert标签,parameterType是参数类型,resultType是返回值类型,

里面写sql语句,?的值用#{}.

实体与实体之间的关系

多对1 比如有一个班的学生在一个教室里上课

1对多 一个教室对应一个班的学生

一对1(唯一外键关联)丈夫和妻子表,丈夫表里有一个妻子Id,而且是唯一约束

1对1(主键关联)丈夫表妻子表里的主键id是相同的

多对多 教师表,课程表,教室课程表,也就是一个教师能上那些课,里面有教师id和课程id,联合主键,排列组合不能重复。这种设计很复杂。mybatis实现不了

推荐使用双向多对一形式来实现多对多

你可能感兴趣的:(2020-01-14)