Search in sources :

Example 1 with AbstractMyBatisSpringTest

use of org.mybatis.spring.AbstractMyBatisSpringTest in project spring by mybatis.

the class MapperFactoryBeanTest method testAddToConfigTrue.

@Test
void testAddToConfigTrue() throws Exception {
    // the default SqlSessionFactory in AbstractMyBatisSpringTest is created with an explicitly set
    // MapperLocations list, so create a new factory here that tests auto-loading the config
    SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
    factoryBean.setDatabaseIdProvider(null);
    // mapperLocations properties defaults to null
    factoryBean.setDataSource(dataSource);
    factoryBean.setPlugins(executorInterceptor);
    SqlSessionFactory sqlSessionFactory = factoryBean.getObject();
    find(new SqlSessionTemplate(sqlSessionFactory), true);
    // SqlSesssionTemplate autocommits
    assertCommit();
    assertSingleConnection();
    assertExecuteCount(1);
}
Also used : SqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate) SqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory) SqlSessionFactoryBean(org.mybatis.spring.SqlSessionFactoryBean) AbstractMyBatisSpringTest(org.mybatis.spring.AbstractMyBatisSpringTest) Test(org.junit.jupiter.api.Test)

Example 2 with AbstractMyBatisSpringTest

use of org.mybatis.spring.AbstractMyBatisSpringTest in project spring by mybatis.

the class MapperFactoryBeanTest method testAddToConfigFalse.

// will fail because TestDao's mapper config is never loaded
@Test
void testAddToConfigFalse() throws Throwable {
    try {
        // the default SqlSessionFactory in AbstractMyBatisSpringTest is created with an explicitly
        // set MapperLocations list, so create a new factory here that tests auto-loading the
        // config
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        // mapperLocations properties defaults to null
        factoryBean.setDataSource(dataSource);
        SqlSessionFactory sqlSessionFactory = factoryBean.getObject();
        assertThrows(org.apache.ibatis.binding.BindingException.class, () -> find(new SqlSessionTemplate(sqlSessionFactory), false));
    // fail("TestDao's mapper xml should not be loaded");
    } catch (MyBatisSystemException mbse) {
        // unwrap exception so the exact MyBatis exception can be tested
        throw mbse.getCause();
    } finally {
        // connection not used; force close to avoid failing in validateConnectionClosed()
        connection.close();
    }
}
Also used : SqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate) MyBatisSystemException(org.mybatis.spring.MyBatisSystemException) SqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory) SqlSessionFactoryBean(org.mybatis.spring.SqlSessionFactoryBean) AbstractMyBatisSpringTest(org.mybatis.spring.AbstractMyBatisSpringTest) Test(org.junit.jupiter.api.Test)

Aggregations

SqlSessionFactory (org.apache.ibatis.session.SqlSessionFactory)2 Test (org.junit.jupiter.api.Test)2 AbstractMyBatisSpringTest (org.mybatis.spring.AbstractMyBatisSpringTest)2 SqlSessionFactoryBean (org.mybatis.spring.SqlSessionFactoryBean)2 SqlSessionTemplate (org.mybatis.spring.SqlSessionTemplate)2 MyBatisSystemException (org.mybatis.spring.MyBatisSystemException)1