Search in sources :

Example 16 with SqlSessionTemplate

use of cn.taketoday.orm.mybatis.SqlSessionTemplate in project today-infrastructure by TAKETODAY.

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 AbstractMyBatisTodayTest 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(cn.taketoday.orm.mybatis.SqlSessionTemplate) MyBatisSystemException(cn.taketoday.orm.mybatis.MyBatisSystemException) SqlSessionFactory(org.apache.ibatis.session.SqlSessionFactory) SqlSessionFactoryBean(cn.taketoday.orm.mybatis.SqlSessionFactoryBean) AbstractMyBatisTest(cn.taketoday.orm.mybatis.AbstractMyBatisTest) Test(org.junit.jupiter.api.Test)

Aggregations

SqlSessionTemplate (cn.taketoday.orm.mybatis.SqlSessionTemplate)16 Test (org.junit.jupiter.api.Test)16 AbstractMyBatisTest (cn.taketoday.orm.mybatis.AbstractMyBatisTest)12 SqlSessionFactory (org.apache.ibatis.session.SqlSessionFactory)8 SqlSessionFactoryBean (cn.taketoday.orm.mybatis.SqlSessionFactoryBean)4 Environment (org.apache.ibatis.mapping.Environment)4 DefaultSqlSessionFactory (org.apache.ibatis.session.defaults.DefaultSqlSessionFactory)4 JdbcTransactionFactory (org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory)4 RuntimeBeanReference (cn.taketoday.beans.factory.config.RuntimeBeanReference)2 MyBatisSystemException (cn.taketoday.orm.mybatis.MyBatisSystemException)2 MapperScannerConfigurer (cn.taketoday.orm.mybatis.mapper.MapperScannerConfigurer)2 TransactionStatus (cn.taketoday.transaction.TransactionStatus)2 DefaultTransactionDefinition (cn.taketoday.transaction.support.DefaultTransactionDefinition)2 MockConnection (com.mockrunner.mock.jdbc.MockConnection)2 MockDataSource (com.mockrunner.mock.jdbc.MockDataSource)2