Example usage for org.apache.ibatis.transaction.jdbc JdbcTransactionFactory JdbcTransactionFactory

List of usage examples for org.apache.ibatis.transaction.jdbc JdbcTransactionFactory JdbcTransactionFactory

Introduction

In this page you can find the example usage for org.apache.ibatis.transaction.jdbc JdbcTransactionFactory JdbcTransactionFactory.

Prototype

JdbcTransactionFactory

Source Link

Usage

From source file:com.aspectran.support.orm.mybatis.SqlSessionFactoryBean.java

License:Apache License

/**
 * Build a {@code SqlSessionFactory} instance.
 *
 * The default implementation uses the standard MyBatis
 * {@code XMLConfigBuilder} API to build a {@code SqlSessionFactory}
 * instance based on an Reader./*ww  w  .  j av  a 2s  . c o m*/
 *
 * @return SqlSessionFactory
 * @throws IOException if loading the config file failed
 */
protected SqlSessionFactory buildSqlSessionFactory(InputStream configLocationStream,
        InputStream[] mapperLocationStreams) throws IOException {
    Configuration configuration;

    XMLConfigBuilder xmlConfigBuilder = null;
    if (configLocationStream != null) {
        xmlConfigBuilder = new XMLConfigBuilder(configLocationStream, null, this.configurationProperties);
        configuration = xmlConfigBuilder.getConfiguration();
    } else {
        if (log.isDebugEnabled()) {
            log.debug("Property 'configLocation' not specified, using default MyBatis Configuration");
        }
        configuration = new Configuration();
        configuration.setVariables(this.configurationProperties);
    }

    if (this.objectFactory != null) {
        configuration.setObjectFactory(this.objectFactory);
    }

    if (this.objectWrapperFactory != null) {
        configuration.setObjectWrapperFactory(this.objectWrapperFactory);
    }

    if (StringUtils.hasLength(this.typeAliasesPackage)) {
        String[] typeAliasPackageArray = StringUtils.tokenize(this.typeAliasesPackage,
                CONFIG_LOCATION_DELIMITERS);
        for (String packageToScan : typeAliasPackageArray) {
            configuration.getTypeAliasRegistry().registerAliases(packageToScan,
                    typeAliasesSuperType == null ? Object.class : typeAliasesSuperType);
            if (log.isDebugEnabled()) {
                log.debug("Scanned package: '" + packageToScan + "' for aliases");
            }
        }
    }

    if (this.typeAliases != null && this.typeAliases.length > 0) {
        for (Class<?> typeAlias : this.typeAliases) {
            configuration.getTypeAliasRegistry().registerAlias(typeAlias);
            if (log.isDebugEnabled()) {
                log.debug("Registered type alias: '" + typeAlias + "'");
            }
        }
    }

    if (this.plugins != null && this.plugins.length > 0) {
        for (Interceptor plugin : this.plugins) {
            configuration.addInterceptor(plugin);
            if (log.isDebugEnabled()) {
                log.debug("Registered plugin: '" + plugin + "'");
            }
        }
    }

    if (StringUtils.hasLength(this.typeHandlersPackage)) {
        String[] typeHandlersPackageArray = StringUtils.tokenize(this.typeHandlersPackage,
                CONFIG_LOCATION_DELIMITERS);
        for (String packageToScan : typeHandlersPackageArray) {
            configuration.getTypeHandlerRegistry().register(packageToScan);
            if (log.isDebugEnabled()) {
                log.debug("Scanned package: '" + packageToScan + "' for type handlers");
            }
        }
    }

    if (this.typeHandlers != null && this.typeHandlers.length > 0) {
        for (TypeHandler<?> typeHandler : this.typeHandlers) {
            configuration.getTypeHandlerRegistry().register(typeHandler);
            if (log.isDebugEnabled()) {
                log.debug("Registered type handler: '" + typeHandler + "'");
            }
        }
    }

    if (xmlConfigBuilder != null) {
        try {
            xmlConfigBuilder.parse();

            if (log.isDebugEnabled()) {
                log.debug("Parsed configuration file: '" + this.configLocation + "'");
            }
        } catch (Exception ex) {
            throw new IllegalArgumentException("Failed to parse config resource: " + this.configLocation, ex);
        } finally {
            ErrorContext.instance().reset();
        }
    }

    if (this.transactionFactory == null) {
        this.transactionFactory = new JdbcTransactionFactory();
    }

    configuration.setEnvironment(new Environment(this.environment, this.transactionFactory, this.dataSource));

    if (this.databaseIdProvider != null) {
        try {
            configuration.setDatabaseId(this.databaseIdProvider.getDatabaseId(this.dataSource));
        } catch (SQLException e) {
            throw new IllegalArgumentException("Failed getting a databaseId", e);
        }
    }

    if (mapperLocationStreams != null && mapperLocationStreams.length > 0) {
        for (int i = 0; i < mapperLocationStreams.length; i++) {
            if (mapperLocationStreams[i] == null) {
                continue;
            }

            try {
                XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(mapperLocationStreams[i],
                        configuration, mapperLocations[i], configuration.getSqlFragments());
                xmlMapperBuilder.parse();
            } catch (Exception e) {
                throw new IllegalArgumentException(
                        "Failed to parse mapping resource: '" + mapperLocations[i] + "'", e);
            } finally {
                ErrorContext.instance().reset();
            }

            if (log.isDebugEnabled()) {
                log.debug("Parsed mapper file: '" + mapperLocations[i] + "'");
            }
        }
    } else {
        if (log.isDebugEnabled()) {
            log.debug("Property 'mapperLocations' was not specified or no matching resources found");
        }
    }

    return this.sqlSessionFactoryBuilder.build(configuration);
}

From source file:com.baifendian.swordfish.dao.datasource.ConnectionFactory.java

License:Apache License

/**
 *  sql session factory/*from   w  ww.ja v  a2s  .co  m*/
 */
public static SqlSessionFactory getSqlSessionFactory() {
    if (sqlSessionFactory == null) {
        synchronized (ConnectionFactory.class) {
            if (sqlSessionFactory == null) {
                DataSource dataSource = getDataSource();
                TransactionFactory transactionFactory = new JdbcTransactionFactory();

                Environment environment = new Environment("development", transactionFactory, dataSource);

                Configuration configuration = new Configuration(environment);
                configuration.setLazyLoadingEnabled(true);
                configuration.addMappers("com.baifendian.swordfish.dao.mapper");

                SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
                sqlSessionFactory = builder.build(configuration);
            }
        }
    }

    return sqlSessionFactory;
}

From source file:com.dvdprime.server.mobile.config.MyBatisConfig.java

License:Apache License

/**
 * MyBatis ?  Configuration? ./*from  w w  w. j  a  va 2s.  com*/
 * 
 * @return
 */
public Configuration getConfig() {
    TransactionFactory transactionFactory = new JdbcTransactionFactory();
    Environment environment = new Environment("master", transactionFactory, getTomcatDataSource());

    logger.info("MyBatis Configuration Initialization.");
    Configuration configuration = new Configuration(environment);
    configuration.setCacheEnabled(true);
    configuration.setLazyLoadingEnabled(false);
    configuration.setAggressiveLazyLoading(false);
    configuration.setUseColumnLabel(true);
    configuration.setUseGeneratedKeys(false);
    configuration.setAutoMappingBehavior(AutoMappingBehavior.PARTIAL);
    configuration.setDefaultExecutorType(ExecutorType.REUSE);
    configuration.setDefaultStatementTimeout(25000);
    configuration.setSafeRowBoundsEnabled(true);

    // Alias Type
    Iterator<String> it = TypeAliasProp.getProperties().keySet().iterator();
    while (it.hasNext()) {
        String key = it.next();
        logger.info("typeAliasRegistry: [{}] -> [{}]", key, TypeAliasProp.getProperties().get(key));
        configuration.getTypeAliasRegistry().registerAlias(key,
                (String) TypeAliasProp.getProperties().get(key));
    }

    // Mapper
    it = MapperProp.getProperties().keySet().iterator();
    while (it.hasNext()) {
        String key = it.next();
        logger.info("mapper loaded: [{}]", MapperProp.getProperties().get(key));
        try {
            InputStream inputStream = Resources
                    .getResourceAsStream((String) MapperProp.getProperties().get(key));
            XMLMapperBuilder mapperParser = new XMLMapperBuilder(inputStream, configuration,
                    (String) MapperProp.getProperties().get(key), configuration.getSqlFragments());
            mapperParser.parse();
        } catch (IOException e) {
            logger.error("mapper parsing   ?.");
        }
    }

    return configuration;
}

From source file:com.ehensin.paypal.infra.db.DBRepository.java

License:Apache License

private SqlSessionFactory getSqlSessionFactory(Map<String, String> properties) {
    DataSourceConfig config = new DataSourceConfig();
    config.setDbUrl(properties.get("url"));
    config.setDriver(properties.get("driver"));
    config.setPartition(Integer.valueOf(properties.get("partions")));
    config.setUserName(properties.get("username"));
    config.setPassword(properties.get("password"));
    config.setMinConnections(Integer.valueOf(properties.get("minconnection")));
    config.setMaxConnections(Integer.valueOf(properties.get("maxconnection")));

    DataSource dataSource = DataSourceFactory.getDataSource(config);
    TransactionFactory transactionFactory = new JdbcTransactionFactory();
    Environment environment = new Environment("account-service", transactionFactory, dataSource);
    Configuration configuration = new Configuration(environment);
    for (String mapper : mappers) {
        configuration.addMappers(mapper);
    }/*from  w  ww. jav  a  2s  . c o  m*/
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
    return sqlSessionFactory;
}

From source file:com.itfsw.mybatis.generator.plugins.tools.MyBatisGeneratorTool.java

License:Apache License

/**
 * ?SqlSession/*from   w  w  w.  j a va  2s.  c  om*/
 * @return
 * @throws IOException
 */
public SqlSession getSqlSession() throws IOException, ClassNotFoundException {
    org.apache.ibatis.session.Configuration config = new org.apache.ibatis.session.Configuration();
    config.setCallSettersOnNulls(true); // nullsetter
    config.setMapUnderscoreToCamelCase(true); // ???

    // mapper
    config.addMappers(targetPackage);
    // ??
    PooledDataSourceFactory dataSourceFactory = new PooledDataSourceFactory();
    dataSourceFactory.setProperties(DBHelper.properties);
    DataSource dataSource = dataSourceFactory.getDataSource();
    JdbcTransactionFactory transactionFactory = new JdbcTransactionFactory();

    Environment environment = new Environment("test", transactionFactory, dataSource);
    config.setEnvironment(environment);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(config);
    return sqlSessionFactory.openSession(true);
}

From source file:com.raise.orgs.impl.cfg.ProcessEngineConfigurationImpl.java

License:Apache License

protected void initTransactionFactory() {
    if (transactionFactory == null) {
        if (transactionsExternallyManaged) {
            transactionFactory = new ManagedTransactionFactory();
        } else {/*from   w  w w  . j a  v a  2 s.co m*/
            transactionFactory = new JdbcTransactionFactory();
        }
    }
}

From source file:com.taobao.tdhs.jdbc.test.mybatis.TestBase.java

License:Open Source License

private SqlSession createSession(DataSource dataSource) {
    TransactionFactory transactionFactory = new JdbcTransactionFactory();
    Environment environment = new Environment("development", transactionFactory, dataSource);
    Configuration configuration = new Configuration(environment);
    configuration.addMapper(PersonMapper.class);
    configuration.addMapper(TestMapper.class);
    configuration.addMapper(OrderMapper.class);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
    return sqlSessionFactory.openSession();
}

From source file:com.tianjunwei.dynamic.SimpleTableAnnotatedMapperTest.java

License:Apache License

@BeforeEach
public void setup() throws Exception {
    Class.forName(JDBC_DRIVER);/*from   www.ja va2 s .  co  m*/
    InputStream is = getClass().getResourceAsStream("/examples/simple/CreateSimpleDB.sql");
    try (Connection connection = DriverManager.getConnection(JDBC_URL, "sa", "")) {
        ScriptRunner sr = new ScriptRunner(connection);
        sr.setLogWriter(null);
        sr.runScript(new InputStreamReader(is));
    }

    UnpooledDataSource ds = new UnpooledDataSource(JDBC_DRIVER, JDBC_URL, "sa", "");
    Environment environment = new Environment("test", new JdbcTransactionFactory(), ds);
    Configuration config = new Configuration(environment);
    config.addMapper(SimpleTableAnnotatedMapper.class);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(config);
}

From source file:examples.animal.data.AnimalDataTest.java

License:Apache License

@BeforeEach
public void setup() throws Exception {
    Class.forName(JDBC_DRIVER);// w w  w  .j a  va 2s. c  o m
    InputStream is = getClass().getResourceAsStream("/examples/animal/data/CreateAnimalData.sql");
    try (Connection connection = DriverManager.getConnection(JDBC_URL, "sa", "")) {
        ScriptRunner sr = new ScriptRunner(connection);
        sr.setLogWriter(null);
        sr.runScript(new InputStreamReader(is));
    }

    UnpooledDataSource ds = new UnpooledDataSource(JDBC_DRIVER, JDBC_URL, "sa", "");
    Environment environment = new Environment("test", new JdbcTransactionFactory(), ds);
    Configuration config = new Configuration(environment);
    config.addMapper(AnimalDataMapper.class);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(config);
}

From source file:examples.column.comparison.ColumnComparisonTest.java

License:Apache License

@BeforeEach
public void setup() throws Exception {
    Class.forName(JDBC_DRIVER);//from  w  w  w . j  a v a2  s . c  om
    InputStream is = getClass().getResourceAsStream("/examples/column/comparison/CreateDB.sql");
    try (Connection connection = DriverManager.getConnection(JDBC_URL, "sa", "")) {
        ScriptRunner sr = new ScriptRunner(connection);
        sr.setLogWriter(null);
        sr.runScript(new InputStreamReader(is));
    }

    UnpooledDataSource ds = new UnpooledDataSource(JDBC_DRIVER, JDBC_URL, "sa", "");
    Environment environment = new Environment("test", new JdbcTransactionFactory(), ds);
    Configuration config = new Configuration(environment);
    config.addMapper(ColumnComparisonMapper.class);
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(config);
}