All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.nomou.mybatis.SmartSqlSessionFactoryBuilder Maven / Gradle / Ivy

package com.github.nomou.mybatis;

import com.github.nomou.mybatis.binding.SmartMapperRegistry;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * 此类仅仅是为了替换Configuration中用于解析Mapper的{@link org.apache.ibatis.binding.MapperRegistry}.
 *
 * 

通过{@link SmartMapperRegistry#injectIfNecessary(Configuration)}来手动替换.

* *

Note: 对于整合spring只需要通过{@code SqlSessionFactoryBean#setSqlSessionFactoryBuilder}设置即可.

* * @author vacoor * @see org.apache.ibatis.binding.MapperRegistry * @see SmartMapperRegistry */ public class SmartSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder { /** * smart=true时statement未实现时会自动实现. */ private final boolean smart; /** * 实例化. */ public SmartSqlSessionFactoryBuilder() { this(true); } /** * 实例化. * *

smart=true时statement未实现时会自动实现.

* * @param smart 是否对未实现statement自动实现. */ public SmartSqlSessionFactoryBuilder(final boolean smart) { this.smart = smart; } /** * {@inheritDoc} */ @Override public SqlSessionFactory build(final Configuration configuration) { if (smart) { SmartMapperRegistry.injectIfNecessary(configuration); } return super.build(configuration); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy