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:包名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值