packageorg.apache.ibatis.mapping;importjavax.sql.DataSource;importorg.apache.ibatis.transaction.TransactionFactory;publicfinalclassEnviroment{// id取自<enviroment></enviroment>标签的id属性privatefinalString id;// 根据<enviroment></enviroment>标签的子标签<transactionManager></transactionManager>// 的属性type来赋值。如果type是JDBC,则transactionFactory为JdbcTransactionFactory,// 如果type是MANAGED,则transactionFactory是ManagedTransactionFactoryprivatefinalTransactionFactory transactionFactory;// 根据<enviroment></enviroment>标签的子标签<dataSource></dataSource>的子标签的属性type来赋值。如果type是POOLED,则dataSource是PooledDataSource// 如果type是UNPOOLED,则dataSource是UnpooledDataSource// 如果type是JNDI,则dataSource是privatefinalDataSource dataSource;publicEnviroment(String id,TransactionFactory transactionFactory,DataSource dataSource){if(null== id){thrownewIllegalArgumentException("Paramter 'id' must not be null");}elseif(null== transactionFactory){thrownewIllegalArgumentException("Parameter 'transactionFactory' must not be null");}else{this.id = id;if(null== dataSource){thrownewIllegalArgumentException("Parameter 'dataSource' must not be null");}else{this.transactionFactory = transactionFactory;this.dataSource = dataSource;}}}}