本文由小千给大家分享小白如何入门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

(1) 直接在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

7、dataSource

type:

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

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

(3)JNDI:自行百度

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

六、Mapper映射器:

1、头文件

2、根元素:

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

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

©著作权归作者所有:来自51CTO博客作者戏精程序媛的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 刚开始接触苹果Mac,如何认识桌面上的基本功能?
  2. Spark RDD在Spark中的地位和作用如何?
  3. Servlet基本概念及执行流程
  4. pmp是什么意思?pmp值得学吗?
  5. 如何使用Movavi Video Editor Plus创建画中画效果?
  6. Prometheus(普罗米修斯)用户档案:动态化特性加速weaveworks云原生程
  7. 互联网企业网络信息安全实践
  8. Java初级、中级、高级学习必备书籍,值得收藏!
  9. Google为Android平板电脑提供了新的媒体娱乐空间

随机推荐

  1. 用Python分析5187位CSDN博主数据,顺便把昨
  2. 用Excel、SQL、Python做数据分析有何不同
  3. 数据分析和数据科学的四个时代
  4. 笨办法学Python,其实一点都不笨
  5. 手把手教你用 Python 进行机器学习
  6. 如何正确的获取数据?
  7. maven技术+IDEA配置maven
  8. 思科链路聚合(捆绑)
  9. 极简机器学习入门指南
  10. VUE~~~通过首页链接到功能点对应的tab页(