- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mybatis技术简介
* Mybatis技术简介 主讲人:张兴国 Mybatis资料 文档地址:http://mybatis.github.io/mybatis-3/zh/getting-started.html 包下载地址:/mybatis/mybatis-3/releases 一片优秀的帖子:/3018495/888848 MyBatis的前世今生 MyBatis的前身就是iBatis,iBatis本是由Clinton Begin开发,后来捐给Apache基金会,成立了iBatis开源项目。2010年5月该项目由Apahce基金会迁移到了Google Code,并且改名为MyBatis。 MyBatis介绍 MyBatis是一个数据持久层(ORM)框架。把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。 MyBatis的优点:1.基于SQL语法,简单易学。2.能了解底层组装过程。?? 3.SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度。4.程序调试方便。 与传统JDBC的比较 减少了61%的代码量 最简单的持久化框架 架构级性能增强 SQL代码从程序代码中彻底分离,可重用 增强了项目中的分工 增强了移植性 JDBC 与 MyBatis直观对比 MyBatis 就是将上面这几行代码分解包装: 前两行是对数据库的数据源的管理包括事务管理, 3、4 两行MyBatis通过配置文件来管理 SQL 以及输入参数的映射, 6、7、8 行MyBatis获取返回结果到 Java 对象的映射,也是通过配置文件管理。 与Hibernate的对比 MyBatis 1、是一个SQL语句映射的框架(工具) 2、注重POJO与SQL之间的映射关系。不会为程序员在运行期自动生成 SQL 3、自动化程度低、手工映射SQL,灵活程度高. 4、需要开发人员熟炼掌据SQL语句 Hibernate 1、主流的ORM框架、提供了从 POJO 到数据库表的全套映射机制 2、会自动生成全套SQL语句。 3、因为自动化程度高、映射配置复杂,api也相对复杂,灵活性低. 4、开发人同不必关注SQL底层语句开发 MyBatis工作流程 MyBatis基本要素 一、configuration.xml 全局配置文件 二、mapper.xml 核心映射文件 三、SqlSession接口 核心接口和类的结构 核心类的生命周期 SqlSessionFactoryBuilder的生命周期: 这个类可以被初始 、 使用和丢弃 , 如果你已经创建好了一个 SqlSessionFactory 后就不用再保留它 。 因此 ,SqlSessionFactoryBuilder 的最好作用域是方法体内,比如说定义一个方法变量。你可以重复使 用SqlSessionFactoryBuilder 生成多个SqlSessionFactory 实例 , 但是最好不要强行保留 , 因为 XML 的解析资源要用来做其它更重要的事。 SqlSessionFactory的生命周期 SqlSessionFactory: 一旦创建, SqlSessionFactory 就会在整个应用过程中始终存在。所以没有理由去销毁和再创建它,一个应用运行中也不建议多次创建 SqlSessionFactory 。 如果真的那样做 , 会显得很拙劣 。 因此 SqlSessionFactor y最好的作用域是 Application 。可以有多种方法实现。最简单的方法是单例模式或者是静态单例模式 。 然而这既不是广泛赞成和好用的 。 反而 , 使用 Google Guice 或 Spring 来进行依赖反射会更好 。 这些框架允许你生成管理器来管理 SqlSessionFactory 的单例生命周期。 SqlSession的生命周期 SqlSession: 每个线程都有自己的 SqlSession 实例, SqlSession 实例是不能被共享,也是不是线程安全的。因此最好使用 Request 作用域或者方法体作用域。不要使用类的静态变量来引用一个 SqlSession 实例,甚至不要使用类的一个实例变更来引用。如果你正在使用 WEB 框架,应该让 SqlSession 跟随 HTTP 请求的相似作用域。也就是说,在收到一个 HTTP 请求过后,打开 SqlSession ,等返回一个回应以后,立马关掉这个 SqlSession 。 关闭 SqlSession 是非常重要的。你必须要确保 SqlSession 在 finally 方法体中正常关闭。可以使用下面的标准方式来关闭: SqlSession sessio
您可能关注的文档
最近下载
- 2025年【全国】汉字听写大会竞赛考试题(含答案).docx VIP
- 新高三第一次班主任会议,校长讲话:凝心聚力战高三,担当使命育栋梁.docx
- 《化学抛光和电解抛光》.ppt VIP
- 校园内施工安全教育课件.pptx VIP
- 某某村党群服务中心项目可行性研究报告.doc VIP
- 2023年电动自行车换电站相关项目可行性研究报告.docx VIP
- Q-CR 517.2-2023铁路工程喷膜防水材料 第2部分:喷涂橡胶沥青(OCR).pdf
- (王红)《遣戍伊犁日记》《叶柝纪程》录文.doc VIP
- 一种用硅藻土助滤剂废弃物制备纳米白炭黑的方法.pdf VIP
- 数字化转型之数据治理解决方案.pdf VIP
文档评论(0)