您当前的位置: 首页 >  mybatis

止步前行

暂无认证

  • 6浏览

    0关注

    247博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Mybatis的配置文件详解

止步前行 发布时间:2018-06-29 14:33:23 ,浏览量:6

下面来学习一下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.xml(全局配置文件)创建一个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

关注
打赏
1657848381
查看更多评论
立即登录/注册

微信扫码登录

0.1441s