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实现不了

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,657评论 0 4
  • 1.JVM 堆内存和非堆内存 堆和非堆内存按照官方的说法:“Java 虚拟机具有一个堆(Heap),堆是运行时数据...
    yanzhu728阅读 940评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 3,837评论 0 11
  • 叶芙金妮娅·梅德维杰娃告诉记者自己没有明确的离开加拿大的期间,但是不会改变国籍。 “出于之前那事的原因,我将不得不...
    云游四方的旅人阅读 2,421评论 0 0
  • 早上坐朋友的车回去,时间便没那么仓促。等车的时候见到道旁的海棠已经开了好多,粉色的小花,一朵朵别致可爱。却依旧更喜...
    香啡豆阅读 390评论 0 2