初始MyBatis

框架技术

1. 为什么学习框架技术

  • 不用考虑公共问题,框架已经帮我们做好了。
  • 可以专心于业务逻辑,保证核心业务逻辑的开发质量。
  • 结构统一,便于学习和维护
  • 框架中集成了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。

2. 框架的概念

框架(Framework)是一个提供了可重用的公共结构半成品。它为我们构建新的应用程序提供了极大的便利。一方面提供了可以拿来就用的工具,更重要的是,提供了可重用的设计。
框架就是应用程序的骨架,开发者可以在这个骨架上加上自己的东西,搭建符合自己需求的应用系统。

3. 主流框架介绍

Struts2框架

Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。

Hibernate框架

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

Spring框架

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

SpringMVC框架

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等。
◆ 目的:解决企业应用开发的复杂性
◆ 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆ 范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

MyBatis框架

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)

MyBatis介绍及其环境搭建

1. 数据持久化概念

数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。
数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等

2. MyBatis框架及ORM

MyBatis框架简介

  • 是一个开源的数据持久层框架
  • 支持普通SQL查询、存储过程和高级映射

什么是ORM

  • 对象、关系的映射
  • 是一种数据持久化技术

Mybatis是ORM解决方案

基于ORM,MyBatis在对象模型和关系数据库的表之间建立了一座桥梁,通过Mybatis建立SQL关系映射,以便捷实现数据存储、查询、更改和删除等操作。

2. MyBatis环境搭建

下载需要的jar文件
部署jar文件
创建Mybatis核心配置文件configuration.xml
创建持久化嘞(POJO)和SQL映射文件
创建测试类

3. MyBatis框架的优缺点及适用场合

优点
  • 与JDBC相比,减少了50%以上的代码
  • Mybatis是最简单的持久化框架,小巧并且简单易学
  • Mybatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程 序代码中彻底分离,减低耦合度,便于统一管理和优化,并可重用
  • 提供XML标签,支持编写动态SQL语句
  • 提供映射标签,支持对象与数据库的ORM字段关系映射
缺点
  • SQL语句的编写工作量较大,对开发人员编写SQL语句的功底有一定要求
  • SQL语句依赖数据库,导致数据库移植性查,不能随便更改数据库
适用场合

Mybatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能的要求很高,或者需要变化较多的项目

Mybatis的基本要素———核心对象

核心接口和类

(1) 每个MyBatisd的应用程序都以一个SqlSessionFactory对象的实例为核心
(2) 首先获取SqlSessionFactoryBuilder对象,可以根据XML配置文件或Configuration类的实例构建该对象
(3) 然后获取SqlSessionFactory对象,该对象实例可以通过SqlSessionFactoryBuilder对象获得
(4) 有了SqlSessionFactory对象之后,就可以进而获取SqlSession实例,SqlSession对象中完全包含以数据库为背景的所有执行SQL操作的方法。可以用该实例来直接执行已映射的SQL语句

Mybatis核心配置文件(mybatis-config.xml)
SQL映射文件(mapper.xml)

1. SqlSessionFactoryBuilder

  • SqlSessionFactoryBuilder的作用
    SqlSessionFactoryBuilder负责构建SqlSessionFactory,并且提供了多个build()方法的重载
    Build(Reader reader, String environment, Properties properties)
    Build(InputStream inputStream, String environment, Properties properties)
    Build(Configuration config)
  • SqlSessionFactoryBuilder的生命周期和作用域
    用过即丢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值