一、mybatis的约束文件:规定xml中标签的语法规则
"http://mybatis.org/dtd/mybatis-3-config.dtd"
二、用于引入外部properties文件:
<properties resource="dbConfig.properties"></properties>
其中有两种引入方式:
1、resource:引入类路径下的资源
2、url:引入网络路径下的资源
三、设置重要项目:settings包含很多重要设置项目
<settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
四、别名处理:为某个类指定一个其他的名字
<typeAliases> <!-- typeAlias:为某个Java类型起别名 type:指定要起的别名的类型名,默认是类名小写employee alias:指定别名名字 --> <typeAlias type="bean.Employee"/> </typeAliases>
为多个类批量取别名:
<package name="bean"/>
name:为包名
也可以直接在实体类上注解
最好写全类名,找起来方便
五、类型处理器:架起数据库类型和Java类型一一映射的桥梁
六、插件:可以允许我们拦截sql语句执行的一些核心步骤,利用插件进行拦截的——拦截其实就是动态代理
Executor:执行器
ParameterHandler:参数处理器
ResultSetHander:结果集处理器
StatementHandler:sql语句处理器
后面细说------
七、环境
4、配置mybatis运行环境,mybatis可以配置多种环境。default:指定使用某种环境(开发、测试之类) environment:配置一个具体的环境信息。id代表当前环境的唯一标识 必须有这两个标签:transactionManager:事务管理器。 type:事务管理器的类型 JDBC(JdbcTransactionFactory) 或 MANAGER(ManagerTransactionFactory) 自定义事务管理器:实现TransactionFactory接口,type指定为全类名 dataSource:数据源 type:POOLED(UnpooledDataSourceFactory)、 UNPOOLED(PooledDataSourceFactory)、 JNDI(JndiDataSourceFactory) 自定义数据源:实现DataSourceFactory接口,type是全类名 --> <environments default="development"> <environment id="development"> <!--type=“JDBC”代表使用JDBC的提交和回滚来管理事务--> <transactionManager type="JDBC"/> <!--mybatis提供了3种数据源类型,分别是POOLED、UNPOOLED、JNDI--> <!--POOLED表示支持JDBC数据源连接池--> <!--UNPOOLED表示不支持数据源连接池--> <!--JNDI表示支持外部数据源连接池--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments>八、databaseIdProvider:支持多数据厂商
<databaseIdProvider type="DB_VENDOR"> <!--为不同的数据库厂商起别名--> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle"/> <property name="SQL Server" value="sqlserver"/> </databaseIdProvider>
在mapper映射文件中指定操作哪种数据库
使用:(数据库切换)
九、mapper标签:将sql映射文件注册到全局配置文件中
<mappers>
<!--注册方式1,一个一个的配置-->
<mapper resource="mapper/EmployMapper.xml"/>
<!--注册方式2,自动包内的mapper接口与配置文件-->
<!--<package name="mapper"/>-->
</mappers>
整体:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE configuration PUBLIC "-//mapper.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 1、mybatis可以使用properties标签来引入外部properties配置文件的内容 resource:引入类路径下的资源 url:引入网络路径或磁盘路径下的资源 --> <properties resource="dbConfig.properties"></properties> <!-- 2、settings包含了很多重要的设置项目 setting:用来设置每一个设置项 name:设置项的名字 value:设置项的取值 --> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!--3、typeAliases别名处理器:可以为我们的Java类型起别名 别名不区分大小写 --> <typeAliases> <!-- 1)、typeAlias:为某个Java类型起别名 type:指定要起的别名的类型名,默认是类名小写employee alias:指定别名名字 --> <typeAlias type="bean.Employee"/> <!-- 2)、package批量起别名:为某个包下的所有类起别名 name:指定报名(为当前包以及下面的所有后代的包每个类都起一个默认别名) --> <package name="bean"/> <!--3)、批量其别名也可以使用@Alias注解在某个类上--> </typeAliases> <!-- 4、配置mybatis运行环境,mybatis可以配置多种环境。default:指定使用某种环境(开发、测试之类) environment:配置一个具体的环境信息。id代表当前环境的唯一标识 必须有这两个标签:transactionManager:事务管理器。 type:事务管理器的类型 JDBC(JdbcTransactionFactory) 或 MANAGER(ManagerTransactionFactory) 自定义事务管理器:实现TransactionFactory接口,type指定为全类名 dataSource:数据源 type:POOLED(UnpooledDataSourceFactory)、 UNPOOLED(PooledDataSourceFactory)、 JNDI(JndiDataSourceFactory) 自定义数据源:实现DataSourceFactory接口,type是全类名 --> <environments default="oracle"> <environment id="mysql"> <!--type=“JDBC”代表使用JDBC的提交和回滚来管理事务--> <transactionManager type="JDBC"/> <!--mybatis提供了3种数据源类型,分别是POOLED、UNPOOLED、JNDI--> <!--POOLED表示支持JDBC数据源连接池--> <!--UNPOOLED表示不支持数据源连接池--> <!--JNDI表示支持外部数据源连接池--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> <environment id="oracle"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${oracle.driver}"/> <property name="url" value="${oracle.url}"/> <property name="username" value="${oracle.username}"/> <property name="password" value="${oracle.password}"/> </dataSource> </environment> </environments> <!-- 5、databaseIdProvider:支持多数据库厂商的 type="DB_VENDOR":VendorDatabaseIdProvider 作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能够根据数据库厂商的标识来执行不同的sql MySQL、Oracle、SQL Server,、、、、、 --> <databaseIdProvider type="DB_VENDOR"> <!--为不同的数据库厂商起别名--> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle"/> <property name="SQL Server" value="sqlserver"/> </databaseIdProvider> <!--注册Mapper映射文件方式--> <!-- 6、mappers:将sql映射文件注册到全局配置文件中 mapper:注册一个sql映射 注册配置文件 resource:引用类路径下的sql映射文件 url:引用网络路径或磁盘路径下的sql映射文件 注册接口 class:引用(注册)接口 1、有sql映射文件,且映射文件必须和接口同名,并且放在同一目录下 2、没有sql映射文件,所有sql都是利用注解写在接口上 推荐写sql映射文件 package:批量注册 --> <mappers> <!--注册方式1,一个一个的配置--> <mapper resource="mapper/EmployMapper.xml"/> <!--注册方式2,自动包内的mapper接口与配置文件--> <!--<package name="mapper"/>--> </mappers> </configuration>