千锋Java培训分享小白如何入门Mybatis
本文由千锋Java培训机构讲师给大家分享小白如何入门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) 根元素:<configuration></configuration>
(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
<transactionManager type=”JDBC”/>
7、dataSource
type:
(1)UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭链接
(2)POOLED:这种数据源的实现利用”池”的概念将JDBC连接对象组织起来
(3)JNDI:自行百度
8、mappers:映射器,配置加载映射文件
六、Mapper映射器:
1、头文件
2、根元素:
3、子元素:select、insert、delete、update、resultMap
猜你喜欢LIKE
相关推荐HOT
更多>>java两个日期比较相差多少天
在Java中,可以使用`java.time`包下的类来比较两个日期之间相差的天数。以下是一个示例代码:importjava.time.LocalDate;importjava.time.tempo...详情>>
2023-06-27 17:19:00find命令查找文件
"find"命令是在Unix、Linux和类似系统中使用的一个非常强大的命令,用于在文件系统中查找文件和目录。它可以根据各种条件进行搜索,并提供了灵...详情>>
2023-06-16 14:00:30如何添加Java环境变量
要添加Java环境变量,请按照以下步骤进行操作:1.打开计算机的控制面板。2.点击"系统和安全"(Windows10及更高版本)或"系统"(Windows7和较早版本...详情>>
2023-06-08 09:31:10随机函数rand怎么使用
rand是一个C++的函数,用于产生一个随机数。以下是使用rand的方法:1.头文件:需要包含stdlib.h或cstdlib头文件以使用rand函数。2.使用rand()函...详情>>
2023-04-20 15:47:10什么是面向对象编程?面向对象有什么特性
面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,它将数据和操作数据的方法组合成一个单独的实体,称为“对象”,并且对...详情>>
2023-03-17 15:30:11Java培训问答更多>>
新Java行业疑惑解答:Java的内存管理是如何工作的?
新java script是什么?为什么要学java script
新java和大数据哪个好?未来哪个职业发展更好
新java培训班多久能学会?培训周期大概多久
新java script和java的区别有哪些?如何区分
新java script的数据类型主要有哪些?怎样学的更快
新c语言与java区别在哪里?去培训机构学哪个比较好
Java面试题库 更多>>
华为外包java面试题-Java实现单链表的逆序
Java程序员面试题
Java面试题及答案
什么是线程的上下文切换?
如何撤销已经推送(push)到远端仓库的提交(commit)信息?
你了解哪些加密算法?
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区