《使用SSM框架开发企业级应用》第一章 初始MyBatis

单词

MyBatis框架   SqlSessionFactory工厂   SqlSessionFactoryBuider构造器

SqlSession使用   Configuration配置  Mapper映射  Environment环境

Property性质    Datasource数据源    typeAliases类型命名

什么是框架?

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

框架技术的优势

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

主流框架有哪些

Struts框架 Hibernate框架 Spring框架 SpringMVC框架 MyBatis框架

数据持久化的概念

数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中数据模型的统称

MyBatis框架简介

 MyBatis可以代替JDBC是一个开源的数据持久层框架,内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询,存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索

MyBatis框架的优点

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

最简单的持久化框架,小巧并简单易学

SQL代码从程序代码中彻底分离,可重用

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

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

MyBatis框架的缺点

SQL语句编写工作量大,对开发人员有一定要求

数据库移植性差

MyBatis框架适用场合

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

 

什么是ORM?

ORM(Object/Relational  Mapping)即对象/关系映射,是一种数据持久化技术,它在对象模型和关系数据模型数据库之间建立起对应关系,通过javaBean对象去操作数据库 表中的数据

MyBatis 环境搭建

首先创建Maven项目

Eclipse—file—new—project—搜索maven—mavenProject—勾选Create a simple project—next—GroupId:填写/Artifact Id:填写、packaging:web/jar —再看项目列表中创建的项目带有webapp即创建成功

接着搭建MyBatis开发环境

创建maven工程—pom.xml—src/main/resources—创建database.properties/myvatis-—config.xml—在mybatis-config.xml配置数据库连接—配置database.propertise

 

 

详细看:https://jingyan.baidu.com/article/870c6fc30543f1b03fe4bef1.html

https://jingyan.baidu.com/article/19020a0a140c71529d28422e.html

 

MyBatis三个基本要素

  1. 核心接口和类
  2. MyBatis核心配置文件(mybatis-config.Xml)
  3. SQL映射文件(mapper.xml)

MyBatis的核心对象

SqlSessionFactoryBuilder

丨build()

SqlSessionFactory

丨openSession()

SqlSession

 

SqlSessionFactoryBuilder

用过即丢,其生命周期只存在于方法体内

可重用其来创建多个 SqlSessionFactory 实例

负责构建SqlSessionFactory,并提供多个build方法的重载

真正的重载方法有如下三种

  1. build(Reder reder,String environment,Properties properties)
  2. build(InputStream inputStream,String environment,Properties properties)
  3. Build(Configuration config)

配置信息可以以三种形式提供给SqlSessionFactoryBuilder的build方法

InputStream(字节流)  Reader(字符流)  Configuration(类)

 

SqlSessionFactory对象 

简单的理解就是创建sqlSession实例的工厂。所有MYBatis应用都是以SqlSessionFactory实例为中心,SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder对象来获得。

SqlSession对象 

提供了面向数据库执行SQL命令所需要的所有方法

SqlSession生命周期和作用域

SqlSession对应着一次数据库会话,由于数据库绘画不是永久的,因此SqlSession生命周期也不是永久的.相反,每次访问数据库时都需要创建他(并不是说在SqlSession里只执行一次sql,是完全可以执行多次的,若是关闭了SqlSession,就需要重新创建它)创建SqlSession的地方只有一个,那就是有自己的SqlSession实例,SqlSession实例不能被共享,也不是线程安全的,因此最佳的作用域范围是request作用域或者方法体作用域内,关闭SqlSession是非常重要的,必须确保SqlSession在finally语句中正常关闭.

 

SqlSession的两种使用方式

  1. 通过SqlSession实例来直接执行已映射的SQL语句
  2. 基于mapper接口方式操作数据

mybatis-config.xml 系统核心配置文件(他们有先后顺序)

 

configuration 配置

properties 可以配置在Java 属性配置文件中

settings 修改 MyBatis 在运行时的行为方式

typeAliases 为 Java 类型命名一个别名(简称)

typeHandlers 类型处理器

objectFactory 对象工厂

plugins 插件

environments 环境

environment 环境变量

transactionManager 事务管理器

dataSource 数据源

mappers 映射器

配置properties元素的两种方式

1、通过外部指定的方式(database.properties),实现动态配置

2、直接配置为xml,实现动态配置

 

外部指定高于直接配置

你可能感兴趣的:(《使用SSM框架开发企业级应用》第一章 初始MyBatis)