Java tutorial
/** * Copyright (c) 2011-2020, hubin (jobob@qq.com). * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.baomidou.mybatisplus; import org.apache.ibatis.binding.MapperRegistry; import org.apache.ibatis.logging.Log; import org.apache.ibatis.logging.LogFactory; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.SqlSession; import com.baomidou.mybatisplus.entity.GlobalConfiguration; /** * <p> * replace default Configuration class * </p> * <p> * Caratacus 2016/9/25 replace mapperRegistry * </p> * * @author hubin * @Date 2016-01-23 */ public class MybatisConfiguration extends Configuration { private static final Log logger = LogFactory.getLog(MybatisConfiguration.class); /* * Mapper */ public final MybatisMapperRegistry mybatisMapperRegistry = new MybatisMapperRegistry(this); /** * ? */ public MybatisConfiguration() { System.err.println("mybatis-plus init success."); } /** * <p> * MybatisPlus SQL ? * </p> * 1?XMLSQL<br> * 2?sqlProviderSQL<br> * 3?xmlSql sqlProvider???SQL<br> * <br> * ?SQLxmlSql > sqlProvider > curdSql <br> */ @Override public void addMappedStatement(MappedStatement ms) { logger.debug("addMappedStatement: " + ms.getId()); if (GlobalConfiguration.getGlobalConfig(ms.getConfiguration()).isRefresh()) { /* * ?? XML ??? ? */ this.mappedStatements.remove(ms.getId()); } else { if (this.mappedStatements.containsKey(ms.getId())) { /* * xml mapperSqlProvider? */ logger.error("mapper[" + ms.getId() + "] is ignored, because it's exists, maybe from xml file"); return; } } super.addMappedStatement(ms); } @Override public void setDefaultScriptingLanguage(Class<?> driver) { if (driver == null) { /* driver */ driver = MybatisXMLLanguageDriver.class; } super.setDefaultScriptingLanguage(driver); } @Override public MapperRegistry getMapperRegistry() { return mybatisMapperRegistry; } @Override public <T> void addMapper(Class<T> type) { mybatisMapperRegistry.addMapper(type); } @Override public void addMappers(String packageName, Class<?> superType) { mybatisMapperRegistry.addMappers(packageName, superType); } @Override public void addMappers(String packageName) { mybatisMapperRegistry.addMappers(packageName); } @Override public <T> T getMapper(Class<T> type, SqlSession sqlSession) { return mybatisMapperRegistry.getMapper(type, sqlSession); } @Override public boolean hasMapper(Class<?> type) { return mybatisMapperRegistry.hasMapper(type); } }