MyBatis配置详解与API介绍(理论).ppt

上传人:小飞机 文档编号:6512855 上传时间:2023-11-08 格式:PPT 页数:24 大小:1.31MB
返回 下载 相关 举报
MyBatis配置详解与API介绍(理论).ppt_第1页
第1页 / 共24页
MyBatis配置详解与API介绍(理论).ppt_第2页
第2页 / 共24页
MyBatis配置详解与API介绍(理论).ppt_第3页
第3页 / 共24页
MyBatis配置详解与API介绍(理论).ppt_第4页
第4页 / 共24页
MyBatis配置详解与API介绍(理论).ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《MyBatis配置详解与API介绍(理论).ppt》由会员分享,可在线阅读,更多相关《MyBatis配置详解与API介绍(理论).ppt(24页珍藏版)》请在三一办公上搜索。

1、第2章 MyBatis配置详解与API介绍,本章内容,Mybatis的结构与原理Mybatis配置文件详解SQL映射文件详解Mybatis API介绍,本章目标,理解mybatis的运行流程掌握mybatis的配置掌握mybatis的映射文件理解mybatis中的重要的类,Mybatis的结构与原理,MyBatis执行总体流程:(1)加载配置(2)SQL解析(3)SQL执行(4)结果映射,MyBatis功能架构,API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一旦接收到调用请求就会调用数据处理层来完成具体的数据处理。数据处理层:负责具体的SQL查找、SQ

2、L解析、SQL执行和执行结果映射处理等。其主要的目的是根据调用的请求完成一次数据库操作。基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的资源,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支持。,MyBatis配置文件,配置文件的结构,配置文件的元素properties,该元素是外部化的、可替代的属性,这些属性也可以配置在典型的Java属性配置文件中,或者通过properties元素的子元素来传递。例如:其中的属性值就可以在整个配置文件中使用,使用可替换的属性来实现动态配置。例如:,Settings,该元素是极其重要的参数设置,它们会

3、修改MyBatis在运行时的行为方式。,typeAliases,类型别名即为Java类型命名一个短的名称。它仅同XML配置有关,只用于减少类完全限定名的多余部分。,typeHandlers,无论是MyBatis在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器均被用于将获取的值以合适的方式转换成Java类型。,/ExampleTypeHandler.java public class ExampleTypeHandler implements TypeHandler public void setParameter(PreparedStatement ps,int i,Obje

4、ct parameter,JdbcType jdbcType)throws SQLException ps.setString(i,(String)parameter);public Object getResult(ResultSet rs,String columnName)throws SQLException return rs.getString(columnName);public Object getResult(CallableStatement cs,int columnIndex)throws SQLException return cs.getString(columnI

5、ndex);,environments,MyBatis可以配置多种环境。这便于将SQL映射应用于多种数据库之中。,transactionManager,在MyBatis中,有两种事务管理器类型(即type=”JDBC|MANAGED”)(1)JDBC:该配置直接简单地使用了JDBC的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。(2)MANAGED:该配置几乎无用。它从来不提交或回滚一个连接,且它会让容器来管理事务的整个生命周期(如Spring或JEE应用服务器的上下文)。默认情况下,它会关闭连接。然而一些容器并不希望这样,因此,如果需要从连接中停止它,则需要将closeConne

6、ction属性设置为false。,dataSource,dataSource元素使用基本的JDBC数据源接口来配置JDBC连接对象的资源。内建数据源类型(即type=”?”)有以下三种:(1)UNPOOLED(2)POOLED(3)JNDI,mappers,既然MyBatis的行为已经由上述元素配置完毕,那么我们现在要定义SQL映射语句。这些语句简单阐述了MyBatis要从哪里寻找映射文件,其余的细节便在每个SQL映射文件中。,SQL映射的XML文件,SQL映射文件包括以下几个很少的顶级元素(按照它们应该被定义的顺序排序):cache:配置给定命名空间的缓存。cache-ref:从其他命名空间

7、引用缓存配置。resultMap:最复杂,也是最有力量的元素,用于描述如何从数据库结果集中加载对象。sql:可重用的SQL块,也可以被其他语句引用。insert:映射插入语句。update:映射更新语句。delete:映射删除语句。select:映射查询语句。,select,查询语句是使用MyBatis时最常用的元素之一。当从数据库中取出数据时,会发现将数据存储在数据库中是很有价值的,所以许多应用程序的查询操作相较更改数据操作更多。SELECT*FROM PERSON WHERE ID=#id 该语句被称为selectPerson,使用一个int(或Integer)类型的参数,并返回一个Has

8、hMap类型的对象,其中的键是列名,值是列对应的值。,Select中的属性,insert into Author(id,username,password,email,bio)values(#id,#username,#password,#email,#bio)update Author set username=#username,password=#password,email=#email,bio=#bio where id=#id delete from Author where id=#id,insert、update和delete,数据修改语句insert、update和delet

9、e在它们的实现中非常相似,insert、update和delete的属性,sql,该元素可以被用于定义可重用的SQL代码段,可以包含在其他语句中。如:id,username,password 上述SQL片段可以被包含在其他语句中。如:select from some_table where id=#id,resultMap,resultMap元素是MyBatis中最重要、最强大的元素。解决列名与属性名称不匹配的问题:其引用语句使用resultMap属性即可(注意,我们去掉了resultType属性)。例如:select user_id,user_name,hashed_password fro

10、m some_table where id=#id,Mybatis的范围与生命周期,SqlSessionFactoryBuilder:该类可以被实例化、使用和丢弃。SqlSessionFactory:一旦被创建,SqlSessionFactory实例会一直存在于应用程序执行期间。SqlSession:每个线程都应该有自己的SqlSession实例。映射器实例:映射器是创建绑定映射语句的接口。映射器接口的实例可以从SqlSession中获得。从技术上而言,当被请求时,任意映射器实例的最宽范围和SqlSession是相同的。,SqlSession session=sqlSessionFactory.openSession();try mapper=session.getMapper(BlogMapper.class);/do work finally session.close();,总结,Mybatis框架执行时的总体流程是:(1)加载配置。(2)SQL解析。(3)SQL执行。(4)结果映射。Mybatis配置文件的主要元素有:properties、settings、typeAliases、transactionManager、dataSource和mappers。SQL映射配置的主要元素有:select、insert、update和delete。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号