微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MyBatis一:全局配置文件

Idea中使用Mybatis,详情见:

 

IDEA使用MyBatis【超级详细,绝对能运行】_便宜听话能加班-CSDN博客

简单使用mybatis(idea中使用) - 韦邦杠 - 博客园

MyBatis运行原理:

1.通过加载mybatis全局配置文件以及mapper映射文件初始化configuration对象和Executor对象(通过全局配置文件中的defaultExecutorType初始化);

2.创建一个defaultsqlSession对象,将configuration对象和Executor对象注入给defaulsqlSession对象中;

3.defaulsqlSession通过getMapper()获取mapper接口的代理对象mapperProxy(mapperProxy中包含defaultsqlSession对象)

4.执行增删改查:

        1)通过defaulsqlSession中的属性Executor创建statementHandler对象;

        2)创建statementHandler对象的同时也创建parameterHandler和resultSetHandler;

        3) 通过parameterHandler设置预编译参数及参数值;

        4)调用statementHandler执行增删改查;

        5)通过resultsetHandler封装查询结果

实现方式:

        1.实现方式一

        2.实现方式二 

1.概述

        1.接口式编程:

原生Dao====>DaoIpml
MyBatisMapper====>XxxMapper.xml

        2.sqlSession代表数据库的一次会话:用完必须关闭

        3.sqlSession和connection一样,都是非线程安全的,每次使用都应该去获取新的对象

        4.mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象

 (将接口和xml进行定)

EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMapper.class);

        5.两个重要的配置文件
                1.mybatis的全局配置文件:包含数据库连接池信息,事务管理器信息等...系统运行环境信息

                2.sql映射文件:保存了每一个sql语句的映射信息 → 将sql抽取出来

        6.namespace:名称空间;指定为接口的全类名id:唯一标识

        7.resultType:返回值类型

        8.#{id}:从传递过来的参数中取出id值

2.全局配置文件

        1.dtd约束:规定标签语法规则,引入正确能够获得标签使用提示

        2.properties(了解即可,使用少):mybatis可以使用properties来引入外部properties配置文件内容

                1.resource:引入类路径下的资源
                2.url:引入网络路径或者磁盘路径下的资源

        3.settings:运行时行为设置,包含很多设置项;

                1.setting:用来设置每一个设置项

                        1.name:设置项名

                        2.value:设置项取值

        4.typeAliases:别名处理器,可以为java类型起别名(别名不区分大小写) → 建议在写返回值类型使用全类名

                1.typeAlias:为某个java类型起别名

                        1.type:指定要起别名的类型全类名,认别名就是类名小写

                        2.alias:指定新的别名

                2.package:为某个包下的所有类批量起别名

                                1.name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个认别名(类名小写))

                                2.在使用批量起别名的情况下使用@Alias注解为某个类型指定新的别名

        5.typeHandlers:类型处理器

        6.plugins:插件

                1.对以下4大对象进行操作

        7.environments:环境们,mybatis可以配置多种环境,default指定使用某种环境,可以达到快速切换

                1.environment:配置一个具体的环境信息,必须有两个标签transactionManager和dataSource;id代表当前环境的唯一标识

                        1.transactionManager:事务管理器

                                1.type:事务管理器的类型(认有JDBC和MANAGED两种,都是别名,全类名可以在Configuration.class中查看);

                                2.自定义事务管理器:实现TransactionFactory接口,type指定为全类名

                        2.dataSource:数据源

                                1.type:数据源类型(认有UNPOOLED| POOLED| JNDI3种,都是别名,全类名可以在Configuration.class中查看)

                                2.自定义数据源:实现DataSourceFactory接口,type指定为全类名

        8.databaseldProvider:多数据库支持

                1.type:DB_vendOR(别名,全类名可以在Configuration.class中查看):得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql

                1.property:为不同的数据库厂商起别名

                        1.name:数据库厂商

                        2.value:别名

        9.mappers:将我们写好的sql映射文件注册到全局配置文件

                1.mapper:注册一个sql映射

                        1.resource(注册配置文件):引用类路径下的sql映射文件

                        2.url(注册配置文件):引入网络路径或者磁盘路径下的sql映射文件

                        3.class:引用(注册)接口

                                1.有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下

                                2.没有sql映射文件,所有的sql都是利用注解写在接口上

                                3.推荐:

                                        1.比较重要的,复杂的Dao接口我们来写sql映射文件

                                        2.不重要的,简单的Dao接口为了开发快速可以使用注解

                2.packa:批量注册

                        1.name:包名

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐