Mybatis入门

Mybatis入门

一.什么是框架?

  1. 框架是一个提供了可重用的公共结构的半成品。

二.当前的主流框架

  1. Struts2框架
  2. Hibernate框架
  3. Spring框架
  4. Spring MVC框架
  5. Mybatis框架

三.搭建MyBatis环境

  • 什么是数据持久化
    数据持久化是将内存中的数据模型转成存储模型,以及将存储模型转换为内存中的数据模型的统称。
    2.MyBatis框架及ORM

  • 1.MyBatis框架简介

  • MyBatis是一个开源的数据持久层框架。它内部封装通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射.

  • 2.什么是ORM

  • 对象/关系映射 是一种数据持久化的技术。它在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,通过JavaBen对象去操作数据库表中的数据。

  • 3.MyBatis是ORM解决方案

  • 基于 ORM,MyBatis在对象模型和关系数据库的表之间建立了一座桥梁。通过MyBatis,可以建立SQL关系映射,便捷地实现数据存储、查询、更改和删除等操作。
    配置核心文件 configuration.xml
    引入 database.properties 文件
    配置 mybatis的log 实现为Log4J
    配置 mybatis多套运行环境
    配置事务管理,采用JDBC的事务管理
    POOLED:Mybatis自带的数据源,JNDI基于tomcat的数据源
    将mapper文件加入配置文件中
    Configuration:配置文件的根元素节点。
    Properties:通过resource属性从外部指定properties属性文件( database.properties),该属性文件描述数据库连接的相关配置
    settings:设置MyBatis运行中的一些行为,比如此处设置MyBatis的log日志实现为LOG4J,即使用log4j实现日志功能。
    environment:表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上,该元素节点下可以配置多个environment 子元素节点,但必须指定其中一个为默认运行环境。(通过default指定。)
    envirinment:配置MyBatis的一套运行环境,需指定运行环境ID、事务管理、数据源配置相关信息。
    mappers:MyBatis去哪里找到SQL 映射文件,整个项目可以有一个或多个SQL映射文件。
    mapper:mappers的子元素节点,具体指定SQL映射文件的路径,其中resource属性的值表述了SQL映射文件的路径。
    4.创建持久化类和SQL映射文件
    持久化类是指其实例需要被MyBatis持久化到数据库中的类。在应用的设计中,持久化类通常对应需求中的业务实体。MyBatis一般采用POJO编程模型来实现持久化类,与POJO类配合完成持久化工作是MyBatis最常见的工作模式。
    四:MyBatis框架的优缺点及其适合场合
    MyBatis框架的优点:

  • 与JDBC相比,减少了50%以上的代码量

  • MyBatis是最简单的持久化框架,小桥并且简单易学

  • MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,既降低耦合度,又便于统一管理和优化,还可重用。

  • 提供XML标签,支持编写动态SQL语句

  • 提供映射标签,支持对象与数据库的ORM字段关系映射

  • 2.,MyBatis框架的缺点

  • SQL语句的编写工作量较大,对于开发人员编写SQL语句的功底有一定要求

  • SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库

  • 3.MyBatis框架适合场合

  • MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能要求很高的项目,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。

SqlSessionFactory的构造者-----SqlSessionFactoryBuilder

一. sqlSessionFactoryBuilder的作用
SqlSessionFactoryBuilder负责构建SqlSessionFactory,并且提供多个build()方法的重载。
(1).SqlSessionFactoryBuilder的生命周期和作用域
SqlSessionFactoryBuilder最大的特点是用过即丢。一旦创建了SqlSessionFactory对象,这个类就不需要存在了。

SqlSession的工厂----SqlSessionFactory

1.SqlSessionFactory的作用
SqlSessionFactory就是创建SqlSession实例的工厂。所有的MyBatis应用都是以SqlSessionFactory实例为中心,SqlSessionFactory实例可以通过SqlSessionFactoryBuilder对象来获得。有了他可以通过SqlSessionFactory提供的openSession()方法来获取SqlSession实例。
2.SqlSessionFactory的生命周期和作用域
SqlSessionFactory对象一旦创建,就会在整个应用运行过程中始终存在。没有理由去销毁或在创建它。并且在应用运行中也不建议多次创建SqlSessionFactory。

使用SqlSession进行数据持久化操作

1.SqlSession的作用
SqlSession是用于执行持久化操作的对象,类似于JDBC中Connection.它提供了面向数据库执行SQL 命令所需的所有方法,可以通过SqlSession实例直接运行已映射的SQL语句。
2.SqlSession的生命周期和作用域
SqlSession对应着一次数据库会话,由于数据会话不是永久的,因此SqlSession的生命周期也不是永久的。想反,在每次访问数据库时都需要创建它。创建SqlSession的方式只有一个,那就是使用SqlSessionFactory对象的OpenSession()方法。
关闭SqlSession是非常重要的。必须确保SqlSession在finally语句块中正常关闭。
3.SqlSession的两种使用方式
(1).通过SqlSession实例来直接执行已映射的SQL语句。例如通过调用selectList方法执行用户查询
(2)基于mapper接口方式操作数据。
创建绑定映射语句的接口,并提供接口方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值