mybatis核心配置文件详解

您所在的位置:网站首页 配置文件的主要作用 mybatis核心配置文件详解

mybatis核心配置文件详解

#mybatis核心配置文件详解| 来源: 网络整理| 查看: 265

mybatis核心配置信息必须严格按照格式标准进行配置

配置名称配置含义配置简介configuration包裹所有配置文件整个配置文件的顶级标签properties属性该标签可以引入外部配置的属性,也可以自己配置。该配置标签所在的同一个配置文件均可引用此配置中的属性setting全局配置参数用来配置一些改变运行时行为的信息,例如是否使用缓存机制,是否使用延迟加载,是否使用错误机制等。并且可以设置最大并发请求数量、最大并发事务数量,以及是否启动命名空间等typeAliases类型别名用来设置一些别名来代替Java的长类型声明(如java.lang.int变成int),减少配置编码的冗余typeHandlers类型处理器将SQL中返回的数据库类型转换成相应Java类型的处理器配置objectFactory对象工厂实例化目标类的工厂类配置plugins插件可以通过插件修改Mybatis的核心行为,例如对语句执行的某一点进行拦截调用environments环境集合属性变量数据库环境信息的集合。在一个配置文件中,可以有多种数据库环境集合,这样可以使Mybatis将SQL同时映射至多个数据库environment环境子属性对象数据库环境配置的详细配置transactionManager事务管理指定Mybatis的事务管理器dataSource数据源使用其中的type指定数据源的连接类型,在标签对中可以使用property属性指定数据库连接池的其他信息mappers映射器配置SQL映射文件的位置,告知MyBatis去哪里加载SQL映射配置

各个配置参数的详解: properties参数用来引入一个外部属性文件: 引入一个config.properties文件

config.properties

driver=com.mysql.jdbc.Driver url=jdbc:mysql:///ssm username=root password=123

properties标签引入它避免了数据库信息的“硬编码”,当需要连接其他数据库的时候,只需要连接其他数据库时,只需要更改数据库的配置文件即可。 当propertieszhong you property子标签时,并且子标签配置了引的属性文件的属性值,这时取的就是property子标签中的value值。 在properties变迁中引入的配置文件信息以及property子标签中的配置的信息,在其他标签中可以使用" ; 占 位 符 的 方 式 来 获 取 , 在 ; {};占位符的方式来获取,在; "占位符的方式来获取,在"{}"中填写引入的配置文件中参数的name或者property子标签的name。 例如:

setting配置影响Mybatis框架在运行时的一些行为,在这就不详细介绍了,只需大致了解setting中包含了哪些设置,然后在需要用的时候,查看setting的文档即可。 setting配置常用来实现缓存、延迟加载和分页设置。 Setting配置的样例: https://blog.csdn.net/qq_37745636/article/details/98953127

typeAliases配置 在MyBatis的SQL映射配置文件中,常使用parameterType、resultType之类的参数设置SQL语句的输入/输出参数,一般参数都是一个java类型的数据,有基本数据类型或引用数据类型,单数一般都要声明该类型的全路径名称,例如“java.lang.String”、“com.mybatis.domain.User”。 而通过在typeAliases配置中声明该类的全路径名称,然后给它一个别名,在SQL映射配置文件中指定输入/输出参数类型时使用别名。

MyBatis还提供了批量定义别名的方法,指定包名即可,程序会为该包下的所有包装类加上别名。定义别名的规范就是对应包装类的类名首字母变成小写。

还可以通过注解的方式来实现

@Alias("user") public class User { }

Mybatis已经为Java的常见类型默认指定了别名,可以直接使用。

别名映射的类型_bytebyte_longlong_shortshort_intint_integerint_doubledouble_floatfloat_booleanbooleanstringjava.lang.Stringbytejava.lang.Bytelongjava.lang.Longshortjava.lang.Shortintjava.lang.Integerintegerjava.lang.Integerdoublejava.lang.Doublebooleanjava.lang.Booleandatejava.util.Datedecimaljava.math.BigDecimalbigdecimaljava.math.BigDecimalobjectjava.lang.Objectmapjava.util.Maphashmapjava.util.HashMaplistjava.util.Listarraylistjava.util.ArrayListcollectionjava.util.Collectioniteratorjava.util.Iterator

可以从上面发现规律: 基本数据类型的别名是“_”加上基本数据类型的名称,引用数据类型的别名是数据类型的名称首字母小写。 建议:在实体类中定义属性时尽量使用引用数据类型。 在返回值是个List集合的时候,ResultType中还是写返回的list集合中对象的别名。

environments配置环境

environments中的default属性配置默认的环境,而environment中的id则是这个环境的id。 数据管理器(transactionManager)有两种类型:分别是JDBC和MANAGED。配置为JDBC,相当于直接使用JDBC的提交和回滚设置。配置为MANAGED,则不提交和回滚连接,而是有容器来管理事务的生命周期。 关于数据源(dataSource),在mybatis中有三种内建的数据源类型:分别是“UNPOOLED”、“POOLED”,与“JNDI”。其中UNPLOOED设置每次请求时打开和关闭连接,而POOLED可以设置一个管理数据库连接的资源池,用来合理控制数据库的连接与关闭次数,利用“池”的概念将JDBC连接对象组织起来。而JNDI则配置连接外部数据源的信息。

mappers配置分析 mappers标签下有多个mapper标签,每一个mapper标签中配置的都是一个独立的Mapper映射配置文件的路径。有以下几种配置方式: 第一种,使用相对路径进行配置:

第二种,使用绝对路径进行配置:

第三种,使用接口信息进行配置:

第四种,使用接口所在包进行配置:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3