本文由小千给大家分享小白如何入门Mybatis。

一、数据持久化概念和ORM原理

1、数据持久化:持久化是程序数据在瞬时状态和持久状态间的转换过程

2、ORM:编写程序的时候,以面向对象的方式处理数据。保存数据的时候却以关系型数据库的方式存储数据

3、ORM提供:

(1) 在持久化对象上执行基本的增、删、改、查操作

(2) 对持久化对象提供一种查询语言或者API

(3) 对象关系映射工具

(4) 提供与事务对象交互、执行检查、延迟加载以及其他优化功能

二、MyBatis的概念以及优点特性

1、简单易学:没有任何第三方依赖,本身很简单

2、灵活:不会影响编程或数据库的设计,sql写在xml中,便于统一管理优化

3、解耦:将业务逻辑和数据访问逻辑分离,设计清晰,便于维护。Sql与代码分离,方便维护

三、理解核心类的作用域和生命周期,核心配置

1、SqlSessionFactoryBuilder

(1) 生命周期及作用域:用过即丢,生命周期只存在方法体内

(2) 作用:可重用其来创建多个 SqlSessionFactory 实例,负责构建SqlSessionFactory,并提供多个build方法的重载

2、SqlSessionFactory

(1) 生命周期及作用域:生命周期与应用的生命周期相同,存在于整个应用运行时,并且同时只能存在一个对象实例(单例)。作用域为Application

作用:创建SqlSession实例

参数:true:关闭事务、false开启事务(默认)

注:当开始事务的时候,对表做增删改操作时,需要提交事务:commit

3、SqlSession

(1) 生命周期及作用域:一个request请求期间,线程级别

(2) 作用(两种):

① 通过SqlSession实例直接运行映射的sql语句

② 基于Mapper接口方式操作数据

1、mybatis-config.xml系统核心配置文件

2、Mapper.xml:SQL映射文件

四、搭建MyBatis环境

mybatis-config.xml系统核心配置文件:

(1) 头文件

(1) 根元素:

(2) 配置元素(要放在根元素内):

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

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

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

④ typeHandlers 类型处理器

⑤ objectFactory 对象工厂

⑥ plugins 插件

⑦ environments 环境

⑧ environment 环境变量

  1. transactionManager 事务管理器

  2. dataSource 数据源

⑨ mappers 映射器

五、掌握全局配置文件结构内容

1、properties配置两种方式:

(1) 利用外部文件:database.properties

(2) 直接在xml文件中配置数据库信息

2、settings元素:(共有9个,自行百度浏览下其他得属性)

(1) cacheEnabled:对在此配置文件下得所有cache(缓存)进行全局性开/关设置(true/false),默认为true

(2) LazyLoadingEnabled:全局性设置懒加载。如果设为”false”,则所有相关联得都会被初始化加载:(true/false),默认为true

3、typeAliases元素:设置映射文件返回结果别名

4、environments环境:development开发环境 test测试环境

5、environment环境变量,id指向环境

6、transactionManager

<transactionManager type=”JDBC”/>


7、dataSource

type:

(1)UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭链接

(2)POOLED:这种数据源的实现利用”池”的概念将JDBC连接对象组织起来

(3)JNDI:自行百度

8、mappers:映射器,配置加载映射文件

六、Mapper映射器:

1、头文件

2、根元素:

3、子元素:select、insert、delete、update、resultMap

本文来自千锋教育,转载请注明出处。

Java技术分享:小白如何入门Mybatis?相关推荐

  1. 小白如何入门Mybatis?这里有答案

    本文由小千给大家分享小白如何入门Mybatis. 一.数据持久化概念和ORM原理 1.数据持久化:持久化是程序数据在瞬时状态和持久状态间的转换过程 2.ORM:编写程序的时候,以面向对象的方式处理数据 ...

  2. 好程序员Java培训分享如何快速入门Java编程

    好程序员Java培训分享如何快速入门Java编程,作为老牌编程语言,Java拥有广阔的市场应用,企业对Java人才的需求一直居高不下.有很多非专业.零基础的人想要学习Java却不知道怎么快速入门,接下 ...

  3. Java技术分享:什么是数据库连接池?

    在JDBC编程中,每次创建和断开Connection对象都会消耗一定的时间和IO资源.这是因为在Java程序与数据库之间建立连接时,数据库端要验证用户名和密码,并且要为这个连接分配资源.Java程序则 ...

  4. java技术分享主题_Java开发入门:适合新手练手的Java项目(附源码下载)

    Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话.虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图. 但从市场 ...

  5. Java技术分享:Lambda表达式之接口实例化

    今天小千给大家分享的技术是:Lambda表达式之接口实例化. Lambda表达式是Java SE 8中一个重要的新特性.lambda表达式允许你通过表达式来代替功能接口. lambda表达式就和方法一 ...

  6. 网优谷Java技术分享交流

    自变量是临时性存储在运行内存中的标识符,能够根据自变量的值来获得全部程序流程不正确的缘故: 比如:自变量为空是就是说程序流程沒有运作到该处,自变量的值和预估的不同得话就是说逻辑性难题. javas变量 ...

  7. 技术分享 | 想测试入门就必须要懂的软件开发流程

    从事软件测试行业,每天面对的被测对象都是软件.如果想要更好的去完成测试工作,首先需要对被测对象,也就是对软件要有基本的了解. 软件 与计算机系统操作有关的计算机程序.可能有的文件.文档及数据. 程序好 ...

  8. MyCat:第二章:Mycat前世今生(1),java技术分享主题

    高可用性: 分片节点dn2_M1配置了两个dataSource,并且配置了心跳检测(heartbeat)语句,在这种配置下,每个dataNode会定期对当前 正在使用的dataSource执行心跳检测 ...

  9. Java技术分享:Java基本数据类型

    数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习初期去了解,Ja ...

最新文章

  1. 2021年春季学期-信号与系统-第十四次作业参考答案-第八小题参考答案
  2. 几种Linux段错误调试方法
  3. 【网页前端设计Front end】CSS入门(看不懂你来打我)
  4. 深入理解JVM虚拟机(九):运行期优化与JIT编译器
  5. sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
  6. CCF 201712-3 Crontab
  7. MoreResult 同事返回多个数据集
  8. Web Hacking 101 中文版 十三、子域劫持
  9. Xcode7 出现-fembed-bitcode错误的解决办法
  10. wpf 绘制矩形_WPF制作倒影效果
  11. 动态字符串的存储结构的实现
  12. 汽车毫米波雷达测试与测量解决方案
  13. 华硕鹰眼ZenFone Zoom推动潮流:比肩专业相机几率几何?
  14. 计算机能不能升级固态硬盘,笔记本升级固态硬盘后会怎样?秒懂
  15. 写作素材分类整理技巧分享
  16. linux权限后面的点,linux 文件权限后面一个点的含义
  17. 清华教授的操作系统-----课程笔记
  18. 韦棋宝画柿子//作品欣赏
  19. java word apache poi 操作word模板。
  20. 3种常见的数据库迁移同步工具对比,哪个更适合你?

热门文章

  1. 报名 | 东南大学周张泉:基于知识图谱的推理技术
  2. 三星a7支持html吗,三星A7怎么样 三星A7特点介绍
  3. php中复选框删除数据_ERP分析中如何自动删除休息阶段的脑电数据?
  4. JavaScript基础学习之数据类型(一)
  5. oracle进城有哪些,oracle主要进程详解
  6. 用python写名字代码_用python编写一个批量修改文件名的小程序
  7. 单片机c语言实验,单片机实验C语言编程.doc
  8. 十大经典排序算法之选择排序及其优化
  9. springboot+mybatis实现数据分页(三种方式)
  10. 牛客题霸 NC1 大数加法