exceptionTranslatorSupplier,
+ boolean exceptionTranslatorLazyInit) {
+ this.exceptionTranslatorSupplier = exceptionTranslatorSupplier;
if (!exceptionTranslatorLazyInit) {
this.initExceptionTranslator();
}
@@ -85,7 +99,7 @@ public DataAccessException translateExceptionIfPossible(RuntimeException e) {
*/
private synchronized void initExceptionTranslator() {
if (this.exceptionTranslator == null) {
- this.exceptionTranslator = new SQLErrorCodeSQLExceptionTranslator(this.dataSource);
+ this.exceptionTranslator = exceptionTranslatorSupplier.get();
}
}
diff --git a/src/main/java/org/mybatis/spring/SqlSessionFactoryBean.java b/src/main/java/org/mybatis/spring/SqlSessionFactoryBean.java
index 3db0b2ce56..fb7463e168 100644
--- a/src/main/java/org/mybatis/spring/SqlSessionFactoryBean.java
+++ b/src/main/java/org/mybatis/spring/SqlSessionFactoryBean.java
@@ -186,7 +186,7 @@ public void setDatabaseIdProvider(DatabaseIdProvider databaseIdProvider) {
/**
* Gets the VFS.
- *
+ *
* @return a specified VFS
*/
public Class extends VFS> getVfs() {
@@ -195,7 +195,7 @@ public Class extends VFS> getVfs() {
/**
* Sets the VFS.
- *
+ *
* @param vfs
* a VFS
*/
@@ -205,7 +205,7 @@ public void setVfs(Class extends VFS> vfs) {
/**
* Gets the Cache.
- *
+ *
* @return a specified Cache
*/
public Cache getCache() {
@@ -214,7 +214,7 @@ public Cache getCache() {
/**
* Sets the Cache.
- *
+ *
* @param cache
* a Cache
*/
@@ -270,7 +270,7 @@ public void setTypeAliasesSuperType(Class> typeAliasesSuperType) {
*
*
* Since 2.0.1, allow to specify a wildcard such as {@code com.example.*.typehandler}.
- *
+ *
* @since 1.0.1
*
* @param typeHandlersPackage
@@ -331,7 +331,7 @@ public void setConfigLocation(Resource configLocation) {
/**
* Set a customized MyBatis configuration.
- *
+ *
* @param configuration
* MyBatis configuration
* @since 1.3.0
@@ -535,7 +535,6 @@ protected SqlSessionFactory buildSqlSessionFactory() throws Exception {
if (hasLength(this.typeHandlersPackage)) {
scanClasses(this.typeHandlersPackage, TypeHandler.class).stream().filter(clazz -> !clazz.isAnonymousClass())
.filter(clazz -> !clazz.isInterface()).filter(clazz -> !Modifier.isAbstract(clazz.getModifiers()))
- .filter(clazz -> ClassUtils.getConstructorIfAvailable(clazz) != null)
.forEach(targetConfiguration.getTypeHandlerRegistry()::register);
}
diff --git a/src/main/java/org/mybatis/spring/batch/MyBatisBatchItemWriter.java b/src/main/java/org/mybatis/spring/batch/MyBatisBatchItemWriter.java
index f51f898522..19e16fe7e8 100644
--- a/src/main/java/org/mybatis/spring/batch/MyBatisBatchItemWriter.java
+++ b/src/main/java/org/mybatis/spring/batch/MyBatisBatchItemWriter.java
@@ -64,8 +64,8 @@ public class MyBatisBatchItemWriter implements ItemWriter, InitializingBea
private Converter itemToParameterConverter = new PassThroughConverter<>();
/**
- * Public setter for the flag that determines whether an assertion is made that all items cause at least one row to be
- * updated.
+ * Public setter for the flag that determines whether an assertion is made that number of BatchResult objects returned
+ * is one and all items cause at least one row to be updated.
*
* @param assertUpdates
* the flag to set. Defaults to true;
diff --git a/src/test/java/org/mybatis/core/jdk/type/AtomicNumberTypeHandler.java b/src/test/java/org/mybatis/core/jdk/type/AtomicNumberTypeHandler.java
new file mode 100644
index 0000000000..b1935e3c01
--- /dev/null
+++ b/src/test/java/org/mybatis/core/jdk/type/AtomicNumberTypeHandler.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright 2010-2019 the original author or authors.
+ *
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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 org.mybatis.core.jdk.type;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedTypes;
+import org.apache.ibatis.type.TypeHandler;
+
+@MappedTypes({ AtomicInteger.class, AtomicLong.class })
+public class AtomicNumberTypeHandler implements TypeHandler {
+
+ public AtomicNumberTypeHandler(Class> type) {
+ }
+
+ @Override
+ public void setParameter(PreparedStatement ps, int i, Number parameter, JdbcType jdbcType) throws SQLException {
+ }
+
+ @Override
+ public Number getResult(ResultSet rs, String columnName) throws SQLException {
+ return null;
+ }
+
+ @Override
+ public Number getResult(CallableStatement cs, int columnIndex) throws SQLException {
+ return null;
+ }
+
+ @Override
+ public Number getResult(ResultSet rs, int columnIndex) throws SQLException {
+ return null;
+ }
+
+}
diff --git a/src/test/java/org/mybatis/spring/SqlSessionFactoryBeanTest.java b/src/test/java/org/mybatis/spring/SqlSessionFactoryBeanTest.java
index 396c8011d1..d373ff51db 100644
--- a/src/test/java/org/mybatis/spring/SqlSessionFactoryBeanTest.java
+++ b/src/test/java/org/mybatis/spring/SqlSessionFactoryBeanTest.java
@@ -22,6 +22,8 @@
import java.math.BigInteger;
import java.util.Properties;
import java.util.UUID;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
import org.apache.ibatis.cache.impl.PerpetualCache;
import org.apache.ibatis.io.JBoss6VFS;
@@ -43,6 +45,7 @@
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
import org.junit.jupiter.api.Test;
+import org.mybatis.core.jdk.type.AtomicNumberTypeHandler;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import org.mybatis.spring.type.DummyTypeAlias;
import org.mybatis.spring.type.DummyTypeHandler;
@@ -400,12 +403,14 @@ void testSearchATypeAliasPackageWithSamePackage() throws Exception {
@Test
void testSearchATypeHandlerPackage() throws Exception {
setupFactoryBean();
- factoryBean.setTypeHandlersPackage("org.**.type");
+ factoryBean.setTypeHandlersPackage("org.mybatis.**.type");
TypeHandlerRegistry typeHandlerRegistry = factoryBean.getObject().getConfiguration().getTypeHandlerRegistry();
assertThat(typeHandlerRegistry.hasTypeHandler(BigInteger.class)).isTrue();
assertThat(typeHandlerRegistry.hasTypeHandler(BigDecimal.class)).isTrue();
assertThat(typeHandlerRegistry.getTypeHandler(UUID.class)).isInstanceOf(TypeHandlerFactory.InnerTypeHandler.class);
+ assertThat(typeHandlerRegistry.getTypeHandler(AtomicInteger.class)).isInstanceOf(AtomicNumberTypeHandler.class);
+ assertThat(typeHandlerRegistry.getTypeHandler(AtomicLong.class)).isInstanceOf(AtomicNumberTypeHandler.class);
}
@Test
diff --git a/travis/after_success.sh b/travis/after_success.sh
index ee45ba6b5b..d8e4c7bb89 100644
--- a/travis/after_success.sh
+++ b/travis/after_success.sh
@@ -34,7 +34,7 @@ echo "Current commit detected: ${commit_message}"
if [ $TRAVIS_REPO_SLUG == "mybatis/spring" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ] && [[ "$commit_message" != *"[maven-release-plugin]"* ]]; then
- if [ $TRAVIS_JDK_VERSION == "oraclejdk8" ]; then
+ if [ $TRAVIS_JDK_VERSION == "openjdk8" ]; then
# Deploy to sonatype
./mvnw clean deploy -q --settings ./travis/settings.xml
@@ -50,7 +50,7 @@ if [ $TRAVIS_REPO_SLUG == "mybatis/spring" ] && [ "$TRAVIS_PULL_REQUEST" == "fal
# echo -e "Successfully deploy site under Travis job ${TRAVIS_JOB_NUMBER}"
# Notify Sonar
- ./mvnw clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.host.url=https://sonarqube.com -Dsonar.login=ccf0be39fd0ca5ea5aa712247c79da7233cd3caa
+ ./mvnw clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=ccf0be39fd0ca5ea5aa712247c79da7233cd3caa
echo -e "Successfully ran Sonar integration under Travis job ${TRAVIS_JOB_NUMBER}"
else
echo "Java Version does not support additonal activity for travis CI"
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy