首页 > 其他 > 详细

Mybatis笔记

时间:2019-11-30 11:31:36      阅读:68      评论:0      收藏:0      [点我收藏+]

Mybatis下载地址:https://github.com/mybatis,也可以用maven

Mybatis概述

Mybatis,原名:iBatis,Mybatis是一个ORM(对象关系映射)框架,是一款基于Java的持久层框架,MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。

MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(简单的Java对象、实体类)映射成数据库中的记录。

dao -> 持久层(用来数据持久化) -> db

持久层和dao层融合一起来使用,

ORM框架解决的是面向对象程序设计语言和关系型数据库不匹配的问题,Mybatis能使操作数据库像使用面向对象语言一样;

hibernate是纯ORM框架;而Mybatis是半ORM框架,要手写sql的

Mybatis要做的事:实体类和sql之间建立映射关系

 

Mybatis核心配置(见son4模块)

mybatis开发dao层(见son4模块)

1.传统开发方式(不常用):mybatis对dao的支持:在daoimpl加成员变量sqlsession工厂

2.mapper代理开发方式(最常用):mybatis对dao的支持,只需实现接口,并保证和映射文件名字一致,会生成代理实现类,

使用mapper代理注意:namespace、映射文件insert等的id和接口方法名一致、参数类型=接口方法形参类型、返回值也要一致

 

mybatis核心功能(见son4模块)

mybatis逆向工程(反向代理):运行main->db单表生成Java code,如pojo、mapper接口、映射文件,修改一下,完了再做上述的事

动态sql;mybatis关联查询和,分页查询设置,延迟加载,重点!!(见son4模块);

mybatis查询缓存配置,空间换时间:

一级缓存:第二次查询从缓存里取,对于一次sqlsession会话,还没关时,相同sql语句/结果集,只会命中/查询一次mysql

二级缓存:是namespace级别的,同一个接口的相同查询,会二级缓存,要适当来用;

soap,简单对象访问协议,它是webservice的基础,soa(面向服务) 异构系统之间传输data

解析xml(现在不关键了),dom4j

思考:如何设计spring IOC框架,必须有一个xml,仿照springbean的xml,2019-08-16-1后10分钟,用dom4j解析xml

整合SSM(见son3模块,该模块含5层)。struts2+spring+hibernate->Java框架SSM

 

相关知识和问题

各种数据的映射类型:https://www.cnblogs.com/zhuangfei/p/9492915.html

逆向工程无效:https://blog.csdn.net/weixin_42215286/article/details/86765076

运行时找不到对应映射xml文件:映射文件namespace为mapper接口,xml文件要放在resources里,SSM整合时sqlSessionFactory bean的属性要说明映射文件的位置

Mybatis笔记

原文:https://www.cnblogs.com/yyjh/p/11961683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!