MyBatis03.pdf
需积分: 0 168 浏览量
更新于2021-09-18
收藏 3.1MB PDF 举报
MyBatis是当前流行的持久层框架之一,由Apache提供支持,它是一个Java持久层框架,专注于数据持久化操作。MyBatis通过使用简单的XML或注解进行配置和原始映射,将对象与数据库中的记录进行映射,消除了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
在MyBatis的学习和应用中,理解和掌握其生命周期对于提升开发效率和系统性能至关重要。MyBatis的生命周期主要可以分为三个阶段:实例化、初始化以及实例的使用。
1. 实例化:MyBatis在初始化阶段会创建一个名为SqlSessionFactory的工厂对象,它是整个MyBatis应用的核心。SqlSessionFactory是线程安全的,其作用是创建SqlSession实例。通常情况下,一个SqlSessionFactory只需要创建一次,可以被应用重复使用。
2. 初始化:在使用MyBatis之前,需要进行配置文件的读取和解析。这个配置文件通常名为SqlMapConfig.xml,它负责全局配置信息,如数据库连接信息、事务管理器、数据源类型等。在初始化阶段,MyBatis会加载这个配置文件,解析其中的标签和属性,并建立起与数据库的连接。
3. 实例的使用:通过SqlSessionFactory获取SqlSession实例,通过它来执行映射的SQL语句。SqlSession是线程不安全的,它代表与数据库交互的一个会话,它维护了数据库连接,并将SQL语句映射成Java方法。在实例的使用阶段,开发者通过它来执行SQL命令,获取映射器(Mapper)的接口,并调用这些接口中定义的方法。完成操作后,通常需要调用SqlSession的close方法,以释放数据库连接资源。
MyBatis对数据源的配置支持多种类型,如连接池、UNPOOLED非连接池和JNDI等。连接池是一种将数据库连接进行复用的技术,它可以提高数据库访问性能,因为建立数据库连接是一个耗时的操作。在MyBatis中,可以配置数据源类型为POOLED,此时MyBatis会使用内置的连接池进行连接管理;也可以配置为UNPOOLED,这种情况下每次需要数据库连接时都会创建新的连接,用完后关闭,不进行连接复用;还可以使用JNDI,这是Java命名和目录接口,它允许应用程序从环境命名系统中查找和绑定资源,如数据源等。JNDI数据源通常配置在应用服务器上,比如WebLogic、WebSphere中,可以用于管理数据库连接。
此外,MyBatis还支持自定义数据源。开发者可以根据实际需求实现自己的DataSource工厂类,并在SqlMapConfig.xml中进行配置。自定义数据源可以实现更复杂的数据库连接策略,以适应特定的环境和需求。
MyBatis的使用方式主要分为两种模式:传统的XML映射器和注解映射器。在XML映射模式中,开发者需要在XML文件中编写SQL语句,并通过映射器的接口方法与之对应。注解映射则更为简洁,允许开发者直接在接口方法上使用注解来完成映射,这减少了XML文件的数量,并使得代码更加直观。
MyBatis作为一款成熟的ORM框架,提供了灵活、强大的数据库访问能力,同时对数据源的多种配置和生命周期管理提供了充分的支持。通过合理使用MyBatis,开发者能够更有效地管理数据库资源,提升应用程序的性能和可维护性。
编程界的小刘
- 粉丝: 0
- 资源: 9
最新资源
- 双端VSC-HVDC直流输电仿真模型 matlab2021a,采用双环控制, 电压环和电流环,电压环采用直流电压参与PI调节,电流内环包括PI调节器与前馈解耦, 整流侧与逆变侧为VSC两电平器件 直
- qt5.14.modbus rtu源码,运行无问题 -Modbus具有两种串行传输模式:分别为ASCII和RTU 此源代码是RTU Modbus是一种单主站的主从通信模式,Modbus网络上
- 西门子1200与欧姆龙E5cc温控器通讯程序 功能:实现西门子1200 PLC对欧姆龙E5cc温控器进行485通讯控制,在触摸屏上设定温度,读取温度 程序采用轮询方式,有通讯故
- 逆合成孔径雷达运动补偿,距离多普勒成像,瞬时距离多普勒成像
- 电气热 综合能源 二阶锥 采用matlab编制含电气热的综合能源优化程序,采用yalmip和cplex求解,通过二阶锥模型实现相关约束限制,综合能源系统考虑39节点电网+6节点气网+热网模型,程序注
- 威纶通触摸屏锁屏宏指令程序 ~ 威纶通触摸屏锁屏宏指令程序,TK6071IP触摸屏 利用宏指令程序来控制,宏指令注释清晰,方便理解程序 具有很好的学习意义和借鉴价值
- 微网鲁邦调度:①复现了《微电网两阶段鲁棒优化经济调度方法-刘一欣》 ②考虑微电网内可再生分布式电源和负荷的不确定性及储能、需求响应负荷和可控分布式电源等的协调控制
- HCU混动控制器,HEV串并联(IMMD) 混动车辆 simulink stateflow模型包含工况路普输入,驾驶员模型,车辆控制模型(电池CD CS 状态切 以及EV HEV Engine 模式转
- 三相电压型pwm整流器 电压电流双闭环 整流输出800v
- Prius2004永磁同步电机设计报告: 磁路法、maxwell有限元法、MotorCAD温仿真、应力分析 (内容比较完善,用于很需要的朋友,不支持讲解,等额外服务哈 ) 内容:: 1.Exce
- 电力系统状态估计,加权最小二乘直流状态估计,虚假数据注入攻击,基于matlab和matpower包实现
- MATLAB代码 考虑V2G的光储充一体化微网多目标优化调度策略 MATLAB代码 关键词:光储充微网 电电汽车V2G 多目标优化 蓄电池优化 调度 参考文档:光伏微网下考虑V2G补偿蓄电池容量的
- 马尔科夫区制转移向量自回归模型,MSVAR模型,MS-VAR模型的GiveWin软件安装和操作过程+MS-VAR各种图形制作(区制转图、脉冲图、模型预测图和模型预测结果等等)+最优区制数和模型形式判断
- 三维光子晶体光纤模型,无需服务器即可计算,
- 西门子1200 PLC与力乐士Rexroth VFC3610变频器通讯程序 器件:西门子1200 PLC,力乐士Rexroth VFC 3610变频器,西门子KTP700 Basic
- 基于地质统计学的建模comsol模拟粗糙裂隙的渗流模拟 岩体裂隙渗流,考虑裂隙接触(渗透率低)和非接触(渗透率高)的影响,利用地质统计建模,反映裂隙表面的非均质性质,研究裂隙面可能存在的优势通道