下面来学习一下Mybatis配置文件中各个标签的配置。
1、
作用:我们可以使用标签来引入外部
properties
配置文件的内容,一般用于引入数据源的配置。
该标签可以有2个属性:
(1)、resource:使用该属性,表示引入类路径下的资源; (2)、url:使用该属性,表示引入网络路径或者磁盘路径下的资源
例子如下:表示从类路径下引入dbconfig.properties
文件,可以在Mybatis
配置文件中使用${ }
来使用其中的值。
2、
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 中包含很多重要的设置项,我们用
标签来设置每一个设置项:name:设置项名,value:设置项取值。具体配置项可以参考官方文档。下面对几项做一下说明。
(1)、全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存
(2)、配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新。
(3)、当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。 某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。
(4)、开启驼峰命名规则
3、
作用:别名处理器,可以在标签中,用
标签为某个
Java类型
起别名,别名不区分大小写。
标签下有2个子标签,
标签和
标签。
标签: 该标签有2个属性
(1)、type:该属性指定要起别名的类型全类名,默认别名就是类名小写;例如以下配置,默认的别名就是author
:
(2)、alias:指定新的别名,示例如下:
当这样配置时,任何使用domain.blog.Blog
的地方都可以用Blog
代替。
标签:
为某个包下的所有类批量起别名。该标签有一个name属性,用于指定包名,作用是:为当前包以及下面所有的后代包的每一个类都起一个默认别名,类名小写。
我们在批量起别名的情况下,可以使用@Alias
注解为某个类型指定新的别名 。
例如:每一个在包com.scorpios.mybatis.bean
中的Java Bean
,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。比如 com.scorpios.mybatis.bean.Author
的别名为 author
;若有注解,则别名为其注解值。看下面的例子。com.scorpios.mybatis.bean.Author
的别名就为 kkk
。
@Alias("kkk")
public class Author {}
4、
标签:
mybatis
可以配置多种环境 ,可用default
属性来指定使用某种环境。可以达到快速切换环境。该标签下可以有多个定义环境的子标签。
标签:配置一个具体的环境信息,该标签必须有两个子标签,
、
。
// id代表当前环境的唯一标识;
// transactionManager:指定事务管理器
// type:指定事务管理器的类型;
// 值可以为:
// JDBC(JdbcTransactionFactory)、MANAGED(ManagedTransactionFactory)
// dataSource:数据源
// type:数据源类型:
// UNPOOLED(UnpooledDataSourceFactory)
// |POOLED(PooledDataSourceFactory)
// |JNDI(JndiDataSourceFactory)
5、
作用:该标签可以支持多数据库厂商。该标签有一个属性type。
type="DB_VENDOR"
:VendorDatabaseIdProvider
作用就是得到数据库厂商的标识(使用驱动getDatabaseProductName()
方法),mybatis 就能根据数据库厂商标识来执行不同的sql。
下面指定三种数据库:MySQL,Oracle,SQL Server。如果用如下的配置,我们就可以在Mapper文件中编写SQL时指定databaseId,来指定该SQL是在哪种类型的数据库下执行的。
6、
作用:该标签将SQL映射注册到全局配置中。
注意:将我们写好的SQL映射文件,例如:EmployeeMapper.xml,一定要注册到全局配置文件(mybatis-config.xml)中
该标签下有一个子标签,作用是注册一个SQL映射 。该标签下有3个属性:
(1)、resource:该属性是引用类路径下的SQL映射文件
(2)、url:该属性是引用网路路径或者磁盘路径下的sql映射文件
(3)、class:引用(注册)接口。该属性的使用要注意以下两点:
第一、有SQL映射文件,也就是有Mapper映射文件时,映射文件名必须和接口同名, 并且放在与接口同一目录下;
第二、没有SQL映射文件时,所有的SQL都是利用注解写在接口上;
注意:以上的各个配置标签,在mybatis-config.xml配置文件中的顺序不能颠倒。
配置完之后的使用步骤第一步、根据mybatis的xml配置文件mybatis-config.xm
l(全局配置文件)创建一个SqlSessionFactory
对象,有数据源一些运行环境信息; 第二步、SQL映射文件,配置了每一个SQL,以及SQL的封装规则等; 第三步、将SQL映射文件注册在全局配置文件中; 第四步、写代码:
1)、根据全局配置文件得到SqlSessionFactory;
2)、使用sqlSession工厂,获取到sqlSession对象使用他来执行增删改查
一个sqlSession就是代表和数据库的一次会话,用完关闭
3)、使用sql的唯一标志来告诉MyBatis执行哪个sql,sql都是保存在sql映射文件中的
具体可以参看Mybatis的官方文档:http://www.mybatis.org/mybatis-3/zh/configuration.html