1.mybatis可以使用properties来引入外部properties配置文件的内容,Properties属性用来加载属性配置文件。
resource:引入类路径下的资源
url:引入网络路径或者磁盘路径下的资源
实例:
< properties resource = " conf/dbconfig.properties" > </ properties>
2.settings包含很多重要的设置项:
settings全局参数配置:用来设置每一个设置项,
name:设置项名
value:设置项取值
作用:Mybatis框架在运行时可以调整一些运行参数,
比如:开启驼峰命名、开启二级缓存、开启延迟加载等。
这些参数要通过settings标签来配置,全局参数会影响Mybatis的运行行为,所以配置时要特别注意。
实例:
< settings>
此句:为了解决数据库列与类里边的实体中的字段名称保持一致,value = true 开启驼峰命名了
< setting name = " mapUnderscoreToCamelCase" value = " true" />
</ settings>
3.typeAliases:别名处理器,可以为我们java类型起别名。
1.typeAliases:为某个java类型起别名
type:指定要起别名的类型全类名;默认别名就是类名小写:employee
alias:指定新的别名
2.package:为某个包下的所有类批量起别名
name:指定包名(为当前以及下面所有的后代包的每一个类都起一个默认别名(类名小写)
3.批量起别名的情况下,使用@Alias注解为某个类型指定新的别名
实例:
< typeAliases>
< typeAlias type = " com.atguigu.mybatis.Employee" alias = " emp" />
< package name = " com.atguigu.mybatis" />
</ typeAliases>
environments 环境、 transactionManager事务管理器 dataSource 数据源
4.environments:环境,mybatis可以配置多种环境,default只当使用某种环境,可以手动快速切换。
envirnoment:配置一个具体的环境信息;必须有两个标签;id 代表当前环境的唯一标识
transactionManager:事务管理器
trype:事务管理器的类型; jdbc(JDBCTransctionFactory)|Managed(ManagerTransactionFactory)
dataSource:数据源;
type:数据源类型;unpooled(unpooledDataSourceFactory)
|pooled(pooledDataSourceFactory)
|jndi(jndiDataSourceFactory)
自定义数据源:实现DataSourceFactory接口,type是全类名。
实例:
< environments default = " mysql" >
< environment id = " mysql" >
< transactionManager type = " JDBC" > </ transactionManager>
< dataSource type = " POOLED" >
< property name = " driver" value = " ${jdbc.driver}" > </ property>
< property name = " url" value = " ${jdbc.url}" > </ property>
< property name = " username" value = " ${jdbc.username}" > </ property>
< property name = " password" value = " ${jdbc.password}" > </ property>
</ dataSource>
</ environment>
</ environments>
databaseldProvider 数据库厂商标识
5.databaseIdProder:支持数据库厂商的
type="DB_VENDOR":VendorDatabaseIdProvider作用:就是得到数据库厂商的标识
(驱动getDatabaseProductName()),mybatis就能能根据数据库厂商标识来执行不同的sql;
EmployeeMapper.xml里面进行配置:
< select id = " getEmpByID" resultType = " pen" databaseId = " Orcale" >
select * from tbl_employee where id = #{id}
</ select>
< select id = " getEmpByID" resultType = " pen" databaseId = " mysql" >
select * from tbl_employee where id = #{id}
</ select>
导包:Orcale的jar包
在配置文件dbconfig.properties中配置Orcale的driver,url,usernmae,password等。
实例:
< databaseIdProvider type = " DB_VENDOR" >
< property name = " MySQL" value = " mysql" />
< property name = " Oracle" value = " orcale" />
< property name = " SQL Server" value = " sqlserver" />
</ databaseIdProvider>
mapper:注册一个sql映射
注册配置文件:
resource:引用类路径下的sql映射文件
mybatis/mapper/EmployeeMapper.xml
url:引用网路路径或者磁盘路径下的sql映射文件
file://var/mappers/AuthorMapper.xml
注册接口:
class:引用(注册)接口,
1.有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;
2.没有sql映射文件,所有的sql都是利用注解写在接口上
推荐:
比较重要的,复杂的DAO接口我们来写sql映射文件
不重要,简单的DAO接口为了开发快速可以使用注解;
实例:
< mappers>
< mapper resource = " conf/mybatis.mapper/EmployeeMapper.xml" > </ mapper>
</ mappers>