MyBatis全局配置文件的详解

简介

        MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

全局配置文件




	
	

	
	
		
		
	

	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	


	
	
		
		
			
			
			
			
				
				
				
				
			
		
	

	
	
		
		
		
	

	
	
		
		
	

标签介绍

1.properties

      properties标签是为MyBatis的全局配置文件设置属性,由外部文件引入,一般使用配置文件类来引入数据

源。

        数据源的属性文件的名称为编写规范为xxxx.properties,博主这边设置的数据源名称为db.properties,配置文

件的内容编写规范为key=value,等于号两边没有空格例如:

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=root
password=root

         properties的引入方式有两种,一种是resource:在包内部映入,例如属性文件在config包下面,那么它的属性引入为:;另一种的引入为url:映入网络文件或磁盘中的文件。


2.settings

        settings设置在全局配置文件中比较重要

	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		 value="equals,clone,hashCode,toString" />
	

MyBatis全局配置文件的详解_第1张图片

MyBatis全局配置文件的详解_第2张图片

MyBatis全局配置文件的详解_第3张图片

3.typeAliases

       typeAliases是为java类型起别名的一个标签,默认的为类名的小写,如果设置了value那么它的别名为value的值,package设置的是为当前包包括子包下面的所有类,这就有个问题,如果当前包和子包下面的类名一样,那么就会起冲突,这样样的解决方式就是使用注解方式,@Alias("user"),使用的前提是得引入mybatis库文件并设置环境变量:

        
		
		
	

4.environments

        environments设置开发环境,可以配置多个环境,由单个environment配置环境,在environment中必须有transactionManager和dataSource标签才算完整,environment的id为设置环境的唯一id标签,由environments中的default设置使用哪一种环境,transactionManager中type有两种:JDBC,代表使用jdbc的方式进行事物的提交和回滚;MANAGED代表使用j2ee的方式进行提交和回滚,dataSource为数据源,type为数据源类型:UNPOOLED|POOLED|JNDI,UNPOOLED

    UNPOOLED:该数据源的实现只是在每次请求时打开和关闭连接。虽然速度有点慢,但对于不需要立即可用连接性能的简单应用程序来说,这是一个不错的选择。在这个性能区域中,不同的数据库也有所不同,因此对于某些数据库来说,池和这个配置可能不太重要。

    POOLED: 数据源池JDBC连接对象的实现,以避免创建新连接实例所需的初始连接和身份验证时间。这是并发web应用程序实现最快响应的流行方法。

    JNDI:该数据源的实现是为了与容器(如EJB或应用程序服务器)一起使用,这些容器可以集中配置数据源或外部,并在JNDI上下文中引用它。这个数据源配置只需要两个属性:

5.databaseIdProvider

        dataBaseIdProvider是为全局设置多个数据源,可以设置多个数据库,如mysql,oracle,sql server等数据库,type="DB_VENDOR"就是得到数据库厂商表示来执行不同的sql。


	
		
		
		
	

使用方法在sql映射文件mapper中设置,在查询标签中设是databaseId="oracle",设置数据库执行的sql语句






	
	
	


6.mappers

mappers为将sql映射注册带全局文件当中


	
		
		
	

设置方式有三种:

    resource :引入java包中的sql映射文件mapper.xml;

    class:直接引用接口,指向接口,在接口中使用注解的方式操作

 public interface UserMapperAnnotaion {
	@Select("select id, username, sex from t_user where id = #{id}")
	public User findUserById();
}

    url:映入网络路径和磁盘路径下的的xml文件;

博主初学MyBatis,就什么错误的地方还请指出,望谅解。

你可能感兴趣的:(MyBatis)