MyBatis笔记:全局配置文件中各标签使用说明
全局配置文件中标签的使用说明
标签使用是有顺序的不然会报错
顺序就是这里面的顺序→→→→Content Model : (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,
objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)
properties标签
mybatis可以使用properties来引入外部properties配置文件的内容;
resource:引入类路径下的资源
url:引入网络路径或者磁盘路径下的资源
科普:
驼峰命名法(Camel Case):
小驼峰命名法(Lower Camel Case):
第一个单词的首字母小写;第二个单词开始每个单词的的首字母大写。例如:firstName、lastName。
大驼峰命名法(Upper Camel Case:
每一个单词的首字母都大写。例如:FirstName、LastName、CamelCase。也被称为 Pascal 命名法(Pascal Case),源自于 Pascal 语言的命名惯例。
settings标签
settings包含了很多重要的设置项
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
typeAliases标签
typeAliases:别名处理器,可以为我们的java类型起别名
别名不区分大小写
typeAlias:为某个java类型起别名
type:指定要起别名的类型全类名;默认别名就是类名小写;employee
alias:指定新的别名
package:为某个包下所有类批量起别名
name:指定包(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写)
environments标签
environments:环境们,mybatis可以配置多种环境,default指定使用某种环境。可以达到快速切换环境。
environment:配置一个具体的环境信息;必须有两个表情:id代表当前环境的唯一标识
transactionManager:事务管理器;
type:事务管理器的类型 JDBC(JdbcTransactionFactory)丨MANAGED(ManagedTransactionFactory)
自定义事务管理器:实现TransactionFactory接口.type指定为全类名
dataSource:数据源
type:数据源
UNPOOLED(UnpooledDataSourceFactory)
|POOLED(PooledDataSourceFactory)
|JNDI(JndiDataSourceFactory)
POOLED即使用连接池技术
自定义数据源:实现DataSourceFactory接口,type是全类名
databaseIdProvider标签
databaseIdProvider:支持多数据库厂商的;
type="DB_VENDOR":VendorDatabaseIdProvider
作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商的标识来执行不同的sql;
MySQL,Oracle,SQL Server,xxxx
mappers标签
mappers:将sql映射注册到全局配置中
将我们写好的sql映射文件一定要注册到全局配置文件中
mapper:注册一个sql映射
注册配置文件
resource:引用类路径下的sql映射文件
url:引用网络路径或者磁盘路径下的sql映射文件
注册接口:
class:引用(注册)接口
1、有sql映射文件,映射文件必须和接口同名,并且放在与接口同一目录下;
2、没有sql映射文件,所有的sql都是利用注解写在接口上
推荐:比较重要的Dao接口我们来写sql映射文件
不重要,简单的Dao接口为了开发快速可以使用注解;
批量注册: 注册指定包如com.yorkmass.mybatis.dao包下面所有的文件。
有sql映射文件,映射文件要和接口同名,并且放在一个注册包下。
为了好看,可以在conf(类路径文件夹)下面新建一个和注册包(com.yorkmass.mybatis.dao)同名的包存放sql配置文件
没有sql映射文件,需要写注解
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.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>
<!--
驼峰命名法(Camel Case):
小驼峰命名法(Lower Camel Case):
第一个单词的首字母小写;第二个单词开始每个单词的的首字母大写。例如:firstName、lastName。
大驼峰命名法(Upper Camel Case:
每一个单词的首字母都大写。例如:FirstName、LastName、CamelCase。也被称为 Pascal 命名法(Pascal Case),源自于 Pascal 语言的命名惯例。
2.settings包含了很多重要的设置项
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- 3、typeAliases:别名处理器,可以为我们的java类型起别名
别名不区分大小写
-->
<typeAliases>
<!-- typeAlias:为某个java类型起别名
type:指定要起别名的类型全类名;默认别名就是类名小写;employee
alias:指定新的别名
-->
<!-- 默认起别名<typeAlias type="com.yorkmass.mybatis.bean.Employee" /> -->
<!-- <typeAlias type="com.yorkmass.mybatis.bean.Employee" alias="employee1"/> 指定新的别名-->
<!--package:为某个包下所有类批量起别名
name:指定包(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写)
-->
<package name="com.yorkmass.mybatis.bean"/>
<!-- 批量起别名的情况下,使用@Alias注解为某个类型指定新的别名 -->
</typeAliases>
<!--
4、environments:环境们,mybatis可以配置多种环境,default指定使用某种环境。可以达到快速切换环境。
environment:配置一个具体的环境信息;必须有两个表情:id代表当前环境的唯一标识
transactionManager:事务管理器;
type:事务管理器的类型 JDBC(JdbcTransactionFactory)丨MANAGED(ManagedTransactionFactory)
自定义事务管理器:实现TransactionFactory接口.type指定为全类名
dataSource:数据源
type:数据源
UNPOOLED(UnpooledDataSourceFactory)
|POOLED(PooledDataSourceFactory)
|JNDI(JndiDataSourceFactory)
POOLED即使用连接池技术
自定义数据源:实现DataSourceFactory接口,type是全类名
-->
<environments default="dev_mysql">
<!-- <environments default="dev_oracle"> -->
<environment id="dev_oracle">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${orcl.driver}"/>
<property name="url" value="${orcl.url}"/>
<property name="username" value="${orcl.username}"/>
<property name="password" value="${orcl.password}"/>
</dataSource>
</environment>
<environment id="dev_mysql">
<transactionManager type="JDBC"/>
<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>
<!-- 5、databaseIdProvider:支持多数据库厂商的;
type="DB_VENDOR":VendorDatabaseIdProvider
作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商的标识来执行不同的sql;
MySQL,Oracle,SQL Server,xxxx
-->
<databaseIdProvider type="DB_VENDOR">
<!-- 为不同的数据库厂商起别名 -->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>
<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
<!--
6、mappers:将sql映射注册到全局配置中
-->
<mappers>
<!--
mapper:注册一个sql映射
注册配置文件
resource:引用类路径下的sql映射文件
url:引用网络路径或者磁盘路径下的sql映射文件
注册接口:
class:引用(注册)接口
1、有sql映射文件,映射文件必须和接口同名,并且放在与接口同一目录下;
2、没有sql映射文件,所有的sql都是利用注解写在接口上
推荐:比较重要的Dao接口我们来写sql映射文件
不重要,简单的Dao接口为了开发快速可以使用注解;
-->
<!-- <mapper resource="EmployeeMapper.xml"/>
<mapper class="com.yorkmass.mybatis.dao.EmployeeMapperAnnotation"/>
-->
<!-- 批量注册: 注册指定包如com.yorkmass.mybatis.dao包下面所有的文件。
有sql映射文件,映射文件要和接口同名,并且放在一个注册包下。
为了好看,可以在conf(类路径文件夹)下面新建一个和注册包(com.yorkmass.mybatis.dao)同名的包存放sql配置文件
没有sql映射文件,需要写注解
-->
<package name="com.yorkmass.mybatis.dao"/>
</mappers>
</configuration>
接口上注解的写法
package com.yorkmass.mybatis.dao;
import org.apache.ibatis.annotations.Select;
import com.yorkmass.mybatis.bean.Employee;
public interface EmployeeMapperAnnotation {
@Select("select * from tbl_employee where id=#{id}")
public Employee getEmpById(Integer id);
}
补充
conf类路径下新建一个和注册包同名的包存放sql配置文件
其实他们是一个文件夹,包:com.yorkmass.mybatis.dao
图片示例:


浙公网安备 33010602011771号