????????????д???????????????branch?ж???????????????????????trunck???????????????????????????????????????????????????????????????????????????汾?????????????????????????????????????????????????????????????????Щ????????
??????????java?? ???????? TestNG?? DbUnit?? Spring?? ???????? ????????? PMP
???????????????????????????????????????????У?
???????????????????DAO??????????????????????????????CRUD??????????????????????????????侭????????д???????????????????????????????????????????????????????????????????????????е?????????????????????????κα仯??????????????????????????????????????????????????????????????????????????????????????????????????????????????1??????A???????????????????????????2?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ж??????????в?????????????????????????????????????????????????????????????????????????????????????????????????????鷳?????????????
?????????????TestNG??DbUnit??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????м?????????????????????????????????????????????????????????????????????????????????????????????????MyBatis??????????????????????????????????????????????????鼰????????????????????????????????????Щ??????????????????????SQL????????С?
???????MyBatis??????MyBatisAngelWang.class

????@Repository
????publicclassMyBatisAngelWangimplementsIRepository{
????@Autowired
????privateGeneralDAO generalDAO;
????public<T extendsBase> T get(Class<T> clz??Long id){
????HashMap hashMap = generalDAO.getLogically(clz?? id);
????T ret =this.convert(hashMap?? clz);
????return ret;
????}
????}

?????????????????????????????????????????????д?????????????MyBatis??÷???????MyBatisAngelWang??????????????????????????????????????????????????о????
?????????????????????MyBatisAngelWangTest

????import org.testng.annotations.Test;
????//@DatabaseSetup(value= "/dbunitData/TestAngelEntity.xml")
????publicclassMyBatisAngelWangTestextendsAbstractRollbackTest{
????@Autowired
????privateMyBatisAngelWang myBatisAngelWang;
????@Test(enabled =false)
????publicvoid testGet(){
????}
????}

???????????????????MyBatisAngelWangTest.class??????????????AbstractRollbackTest??

????import org.springframework.test.context.ContextConfiguration;
????import org.springframework.test.context.TestExecutionListeners;
????@ContextConfiguration(locations ={"classpath:spring-datasource-dbunit.xml"??
????"classpath*:spring-services.xml"})
????@TestExecutionListeners({DependencyInjectionTestExecutionListener.class??
????TransactionDbUnitTestExecutionListener.class??TransactionalTestExecutionListener.class})
????@Transactional
????publicclassAbstractRollbackTestextendsAbstractTestNGSpringContextTests{
????}

???????????????????????????????????????AbstractTestNGSpringContextTests??????Springframework??????????????ContextConfiguration????????spring?????????
?????????????????????????MyBatisAngelWangTest.class???????AbstractTestNGSpringContextTests???????????
????@ContextConfiguration("/config/Spring-db.xml")
????@Transactional
????@ActiveProfiles("test")
????publicclassMyBatisAngelWangTestextends
????AbstractTransactionalTestNGSpringContextTests{}