版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MyBatis框架ORM系列一、开始MyBatis简介MyBatis是一个数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。MyBatis的优点:1.基于SQL语法,简单易学。2.能了解底层组装过程。 3.SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。4.程序调试方便。与传统JDBC的比较减少了61%的代码量最简单的持久化框架架构级性能增强SQL代码从程序代码中彻底分离,可重用增强了项目中的分工增强了移植性JDBC 与 MyBatis直观对比MyBatis 就是将上面这几行代码分解包装:前两行是对数据库的数据源的管理包括事务管理
2、,3、4 两行MyBatis通过配置文件来管理 SQL 以及输入参数的映射,6、7、8 行MyBatis获取返回结果到 Java 对象的映射,也是通过配置文件管理。 与Hibernate的对比 MyBatis1、是一个SQL语句映射的框架(工具)2、注重POJO与SQL之间的映射关系。不会为程序员在运行期自动生成 SQL 3、自动化程度低、手工映射SQL,灵活程度高. 4、需要开发人员熟炼掌据SQL语句 Hibernate1、主流的ORM框架、提供了从 POJO 到数据库表的全套映射机制2、会自动生成全套SQL语句。3、因为自动化程度高、映射配置复杂,api也相对复杂,灵活性低.4、开发人同不
3、必关注SQL底层语句开发MyBatis工作流程MyBatis工作流程核心 SqlSessionFactory介绍每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清
4、除或重建。使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次核心 SqlSession介绍SqlSession:每个线程都有自己的 SqlSession 实例, SqlSession 实例是不能被共享,也是不是线程安全的。WEB 框架中,应该让 SqlSession 跟随 HTTP 请求的相似作用域。也就是说,在收到一个 HTTP 请求过后,打开 SqlSession ,等返回一个回应以后,立马关掉这个 SqlSession 。 关闭 SqlSession 是非常重要的。你必须要确保 SqlSession 在 finally 方法体中正常关闭。可以使用下面的标
5、准方式来关闭:SqlSession session = sqlSessionFactory.openSession();try / do work finally session.close();使用MyBatis 进行开发1:配置一个数据源2:构建一个SqlSessionFactory3:定义实体bean,dao以及 mapping 文件4:定义扫描器5:加入事务控制二、sqlSessionFactory 配置mapperLocations:它表示我们的Mapper文件存放的位置,当我们的Mapper文件跟对应的Mapper接口处于同一位置的时候可以不用指定该属性的值。configLocat
6、ion:用于指定Mybatis的配置文件位置。如果指定了该属性,那么会以该配置文件的内容作为配置信息构建对应的SqlSessionFactoryBuilder,但是后续属性指定的内容会覆盖该配置文件里面指定的对应内容。typeAliasesPackage:它一般对应我们的实体类所在的包,这个时候会自动取对应包中不包括包名的简单类名作为包括包名的别名。多个package之间可以用逗号或者分号等来进行分隔。typeAliases:数组类型,用来指定别名的。指定了这个属性后,Mybatis会把这个类型的短名称作为这个类型的别名,前提是该类上没有标注Alias注解,否则将使用该注解对应的值作为此种类型的别名。(value的值一定要是类的完全限定名) Dao 接口和xml文件关系一个实体类对应一个接口,这个接口中定义该实体类的相关操作一个接口对应一个跟他同名的xml文件Xml文件中的 操作id和接口中的函数要求同名参数类型要求一致xml文件的编写 sql 可以重用的 SQL 块,也可以被其他语句引用。 insert 映射插入语句 update 映射更新语句 delete 映射删除语句 select 映射查询语句Xml参数传递基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#参数名 即可获取传入的值复杂数据类型:包含JAVA实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共场所从业人员卫生知识培训试卷(带答案)
- 福建省南平市2025年第8期建设领域施工现场专业人员(八大员)培训考试(材料员)复习题及答案
- 临边作业安全控制措施培训
- 高压电器设备火灾扑灭方法培训
- 煤矿攉煤工安全操作规程培训
- 天然气公司燃气工程安全管理培训
- 中、小城镇居民燃气供应系统存在问题及解决对策
- 高层民用建筑消防用水量合理分配与优化设计
- 全地面汽车起重机制动安全性能分析培训
- 木材加工企业防火安全培训
- (2026年)胫骨横向搬运术课件
- 第1课《开天辟地的大事变》第一课时(教学课件)
- 小学五年级英语上册 Unit 2 My Feelings 单元整体教学设计
- 南京市栖霞区迈皋桥街道招聘考试真题2025
- 2026秋苏教版小学科学六年级上册第 1 单元 物质的变化《2 燃烧与空气》教学设计
- 2026年声学计量工专项题库(附答案与解释)
- 输电工程线路路径勘察方案
- 易流态化固体散装货物安全装运须知培训
- 2026年中国远洋海运集团招聘笔试大纲及备考指南
- 2026年中泰证券股份有限公司校园招聘笔试参考题库及答案解析
- 江西省南昌市2025-2026学年上学期期末八年级数学试卷(含答案)
评论
0/150
提交评论