|
@@ -1,123 +1,123 @@
|
|
|
-/**
|
|
|
- * 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、加载XML中的SQL<br>
|
|
|
- * 2、加载sqlProvider中的SQL<br>
|
|
|
- * 3、xmlSql 与 sqlProvider不能包含相同的SQL<br>
|
|
|
- * <br>
|
|
|
- * 调整后的SQL优先级:xmlSql > sqlProvider > curdSql <br>
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void addMappedStatement(MappedStatement ms) {
|
|
|
- logger.debug("addMappedStatement: " + ms.getId());
|
|
|
- if (GlobalConfiguration.isRefresh(ms.getConfiguration())) {
|
|
|
- /*
|
|
|
- * 支持是否自动刷新 XML 变更内容,开发环境使用【 注:生产环境勿用!】
|
|
|
- */
|
|
|
- this.mappedStatements.remove(ms.getId());
|
|
|
- } else {
|
|
|
- if (this.mappedStatements.containsKey(ms.getId())) {
|
|
|
- /*
|
|
|
- * 说明已加载了xml中的节点; 忽略mapper中的SqlProvider数据
|
|
|
- */
|
|
|
- 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);
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
+/**
|
|
|
+ * 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() {
|
|
|
+ logger.debug("mybatis-plus init success.");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * <p>
|
|
|
+ * MybatisPlus 加载 SQL 顺序:
|
|
|
+ * </p>
|
|
|
+ * 1、加载XML中的SQL<br>
|
|
|
+ * 2、加载sqlProvider中的SQL<br>
|
|
|
+ * 3、xmlSql 与 sqlProvider不能包含相同的SQL<br>
|
|
|
+ * <br>
|
|
|
+ * 调整后的SQL优先级:xmlSql > sqlProvider > curdSql <br>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void addMappedStatement(MappedStatement ms) {
|
|
|
+ logger.debug("addMappedStatement: " + ms.getId());
|
|
|
+ if (GlobalConfiguration.isRefresh(ms.getConfiguration())) {
|
|
|
+ /*
|
|
|
+ * 支持是否自动刷新 XML 变更内容,开发环境使用【 注:生产环境勿用!】
|
|
|
+ */
|
|
|
+ this.mappedStatements.remove(ms.getId());
|
|
|
+ } else {
|
|
|
+ if (this.mappedStatements.containsKey(ms.getId())) {
|
|
|
+ /*
|
|
|
+ * 说明已加载了xml中的节点; 忽略mapper中的SqlProvider数据
|
|
|
+ */
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|