初始MyBatis

  1. 框架的概念:

框架是一个提供可重复的功用结构的半成品。它为我们构建新的应用程序提供了极大的便利,一方面提供了可以拿来就用的工具,更重要的是提供了可重用的设计。D

  1. 框架技术的优势:

1.不在考虑公众问题框架已经帮我们做好了

2.可以专心用于业务逻辑,保证核心业务的开发和质量

3.结构统一便于学习和维护

4.框架集中了前人的经验,可以帮助新手写出稳定新能优良且结构优美的高质量程序K

3.主框架的介绍:

1.Strus 2框架

2.Hibernate框架

3.Spring 框架

4.Spring MVC框架

5.MyBatis 框架Z

4.数据持久化概念:

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

内存中的数据模型的统称,:(半自动化是实体类和SQL语句建立的映射关系)

5.MyBatis框架简介:

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

6.什么是ORM:

ORM(Object/Relational Mapping)即对象/映射关系,是一种数据持久化技术。

7.MyBatis环境搭建步骤:

1.下载需要的jar文件

2.部署jar文件

3.创建MyBatis核心配置文件configuration.xml(全局配置)

4.创建持久化类(POJO)和SQL映射文件

5.

8.MyBatis的优缺点

1.优点:

(1)与JDBC相比减少了百分之50代码量

(2)是最简单的持久化框架,小巧并且简单易学。

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

(4)提供xml标签,支持写动态SQL语句

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

  1. 缺点:

(1)    SQL语句编写工作量大,对开发人员编写SQL语句有一定能力要求。

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

9.MyBatis 基本要素---核心对象

1.SqlSessionFactoryBuilder作用:负责构建SqlSessionFactory,并且提供多个build()方法的重载

.SqlSessionFactoryBuilder的生命周期和作用域:

最大特点就是用过即丢,一旦创建了SqlSessionFactory对象之后这个类就不在需要了,因此SqlSessionFactoryBuilder的最佳作用范围就是存在于方法体内,也就是局部变量而已。

2.SqlSessionFactory的作用:

就是创建SqlSession实例工厂

SqlSessionFactoryBuilder 的生命周期和作用域:

一旦创建了就在整个应用运行过程中始终存在,没有理由去销毁或者再次创建它,并且运行中不建议多次创建,因此最佳作用域是Application跟着应用的生命周期一同存在。

3.SqlSession 作用:

用于执行持久化的操作对象,类似于JDBC中的Connection。它提供了面向数据库执行SQL语句的所有方法,可以通过SqlSession实例直接运行已映射的SQL语句

SqlSession 的生命周期和作用域:

对应着一次数据库会话。由于数据库会话不是永久,因此生命周期也不应该是持久的,相反在每次访问数据库时都要创建它,(可以执行多次,但是一旦关闭就需要重新创建,)创建SqlSession的地方只有一个,就是SqlSessionFactory对象的openSession()方法。

SqlSession的两种使用方式:

(1)    通过SqlSession实例来直接执行已映射的SQL语句。通过调用selectList()方法执行

(2)    基于mapper接口方式操作数据。(提供接口方法getUserList())

10.MyBatis 基本要素—核心配置文件:

(1)properties元素:

描述的外部化,可替代性属性,(具体方法见(P28))。

(2)settings元素:

设置一些重要的设置选项,用于设置和改变MyBatis运行中的行为

(1)    cacheEnabled:对在此配置文件下所有cache进行全局性开/关设置

(2)    lazyLoadingEnabled:全局性设置赖加载,如果设置为false则所有相关联的都会被初始化加载

(3)    autoMappingBehavior:MaBatis对于resultMap自动映射的匹配级别(NONE/PARTIAL/FULL)

(3)    typeAliases元素:

作用是配置类型别名,通过与MyBatis的SQL映射文件相关联减少输入多余完整类名,以简化操作

(4)    environments元素:

可以配置多套运行环境,如开发环境,测试环境,生产环境可以灵活的配置,从而将SQL语句映射应用到不同的数据库环境上,可以通过这个元素来配置。必须是唯一的运行环境每个数据库对于这一个SqlSessionFactory实例的。见(P30下方)

(5)    mappers元素:

mappers映射器,用来定义SQL的映射语句,我们只需要高MyBatis去哪里找到这些SQL语句,即去哪里找相应SQL映射文件,可以使用类资源路径或URL等见(P31)

初始MyBatis的更多相关文章

  1. 初始MyBatis、SQL映射文件

    MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...

  2. 初始Mybatis,好累,自己感觉自己快坚持不了了

    Mybatis1.持久化 持久化,就是内存数据和硬盘数据状态的转换 2.ORM思想Object Relation Mapping 对象关系映射 3.MyBatis入门案例 3.1导入jar包 依赖 & ...

  3. Mybatis学习——初始MyBatis

    什么是MyBatis框架? MyBatis框架是一种ORM(既对象关系映射)框架. 什么是ORM框架? 是一种为了解决面向对象与关系数据库之间数据不匹配的技术,它通过描述Java对象和关系数据库表之间 ...

  4. MyBatis别名与util类技能了解

    1.别名 在java中String类型就是String类型,但是在MyBatis中可不会识别java中的类型,在MyBatis中String类型的别名是'string',小写的String,或者也可以 ...

  5. MyBatis(介绍和环境配置)

    ORM(Object Relational Mapping)  设计模式,思想 对象关系映射,是一种数据持久化技术.它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBea ...

  6. MyBatis 框架系列之基础初始

    1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的操作数据库的过程进行封装,使开发者只 ...

  7. mybatis 初始

    接下来带着大家建立一个mybatis的初级项目 首先我们利用idea利用maven建立一个空项目 然后输入名称什么的就会创建一个空的maven项目了 然后我们需要在项目总得pom.xml中进行配置信息 ...

  8. Mybatis初始

    1.Mybatis 的作用 完成基本的sql语句 和 存储过程 高级的对象关系映射(ORM) 框架 封装了几乎所有的 JDBC 代码 参数的手工设置 结果集的遍历 2.Mybatis 框架的主体构成 ...

  9. mybatis笔记 - 初始配置及dao的封装

    1.用户实体类 package com.javasm.entity; /** * *TODO 用户表实体类 * @author CaoLei 2018年6月26日上午10:50:12 * Manage ...

随机推荐

  1. 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root

    打开服务器系统c盘,打开window, 右键temp 属性 安全 编辑 添加IIS_IUSRS 用户控制权限添加修改和写入权限即可.这是Windows Server 2008 R2 标准版 SP1 6 ...

  2. Python自学笔记-字符串编码(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看.   1.理解变 ...

  3. codesmith连接Mysql提示“找不到请求的 .Net Framework Data Provider。可能没有安装。"

    1,首先需要将MySql.Data.dll复制到codesmith安装目录下bin文件夹下,注意dll的版本 2,其次因为codesmith7采用的是.net4.0的配置文件,(64位系统)找到C:\ ...

  4. ES6的变量解构赋值

      前  言 ES6 解构赋值: ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构. 1.1 数组的结构赋值 1.1.1基本用法 JS中,为变量赋值直接指定.例如下面代码: ...

  5. http中错误代码的含义整理

    HTTP网页错误代码大全带解释 HTTP 400 - 请求无效HTTP 401.1 - 未授权:登录失败HTTP 401.2 - 未授权:服务器配置问题导致登录失败HTTP 401.3 - ACL 禁 ...

  6. 热门开源项目:Guns-后台管理系统

    Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时 ...

  7. win10 UWP读写文件

    C# uwp应用的文件读写最常见错误就是没有权限. 而最简单的方法是对已知的文件路径进行访问 已知的文件路径常见的是自身的路径 权限这个和之前不同,UWP读写文件多用StorageFile来读写文件 ...

  8. jquery入门知识点总结(转)

    一.jquery的加载方法 $(document).ready(function(){js代码}); $(function(){js代码});(一般使用这个); 注意点1:使用jquery必须先导入函 ...

  9. Fastify 系列教程二 (中间件、钩子函数和装饰器)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) 中间件 Fastify 提供了与 Express 和 Restify ...

  10. 在Owin Self-Hosing下实现每个请求中共享上下文(数据)

    问题 这几天在做公司的外部WebApi网关,由于使用了OAuth2.0,所以不得不使用Owin来部署网关. 而涉及到请求上下文的问题,为了使业务层能获取到请求头的信息,又不与网关耦合,决定把请求信息写 ...