MyBatis框架
3.5 environments 環(huán)境配置
- MyBatis可以配置多種環(huán)境,比如開發(fā)、測試和生產(chǎn)環(huán)境需要有不同的配置
- 每種環(huán)境使用一個environment標簽進行配置并指定唯一標識符
- 可以通過environments標簽中的default屬性指定一個環(huán)境的標識符來快速的切換環(huán)境
- environment-指定具體環(huán)境
id:指定當前環(huán)境的唯一標識
transactionManager、和dataSource都必須有
<environments?default="oracle"> <environment?id="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> ?<environment?id="oracle"> <transactionManager?type="JDBC"/> <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>? </environments> |
- transactionManager
type: ?JDBC | MANAGED | 自定義
JDBC:使用了 JDBC 的提交和回滾設置,依賴于從數(shù)據(jù)源得到的連接來管理事務范 ??圍。 JdbcTransactionFactory
MANAGED:不提交或回滾一個連接、讓容器來管理事務的整個生命周期(比如 JEE ??應用服務器的上下文)。 ManagedTransactionFactory
自定義:實現(xiàn)TransactionFactory接口,type=全類名/別名
- dataSource
type: ?UNPOOLED | POOLED | JNDI | 自定義
UNPOOLED:不使用連接池, UnpooledDataSourceFactory
POOLED:使用連接池, PooledDataSourceFactory
JNDI: 在EJB 或應用服務器這類容器中查找指定的數(shù)據(jù)源
自定義:實現(xiàn)DataSourceFactory接口,定義數(shù)據(jù)源的獲取方式。
- 實際開發(fā)中我們使用Spring管理數(shù)據(jù)源,并進行事務控制的配置來覆蓋上述配置
3.6 mappers 映射器
- 用來在mybatis初始化的時候,告訴mybatis需要引入哪些Mapper映射文件
- mapper逐個注冊SQL映射文件
resource : 引入類路徑下的文件
url : ?????引入網(wǎng)絡路徑或者是磁盤路徑下的文件
class : ???引入Mapper接口.
有SQL映射文件 , 要求Mapper接口與 SQL映射文件同名同位置.
沒有SQL映射文件 , 使用注解在接口的方法上寫SQL語句.
<mappers> <mapper?resource="EmployeeMapper.xml"?/> <mapper?class="com.atguigu.mybatis.dao.EmployeeMapper"/> <package?name="com.atguigu.mybatis.dao"/> </mappers> |
- 使用批量注冊,這種方式要求SQL映射文件名必須和接口名相同并且在同一目錄下
<mappers> <package?name="com.atguigu.mybatis.dao"/> </mappers> |