From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-dms/jnpf-dms-biz/src/test/java/jnpf/dmsDatabase/DmsUuidTypeHandlerTest.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 58 insertions(+), 0 deletions(-)
diff --git a/jnpf-dms/jnpf-dms-biz/src/test/java/jnpf/dmsDatabase/DmsUuidTypeHandlerTest.java b/jnpf-dms/jnpf-dms-biz/src/test/java/jnpf/dmsDatabase/DmsUuidTypeHandlerTest.java
new file mode 100644
index 0000000..fb59915
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-biz/src/test/java/jnpf/dmsDatabase/DmsUuidTypeHandlerTest.java
@@ -0,0 +1,58 @@
+package jnpf.dmsDatabase;
+
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.apache.ibatis.type.TypeHandler;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Types;
+import java.util.UUID;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+class DmsUuidTypeHandlerTest {
+ private final DmsUuidTypeHandler handler = new DmsUuidTypeHandler();
+
+ @Test
+ void bindsUuidAsPostgresqlOtherType() throws Exception {
+ PreparedStatement statement = mock(PreparedStatement.class);
+ UUID value = UUID.randomUUID();
+
+ handler.setNonNullParameter(statement, 2, value, null);
+
+ verify(statement).setObject(2, value, Types.OTHER);
+ }
+
+ @Test
+ void readsNativeAndTextUuidValues() throws Exception {
+ ResultSet resultSet = mock(ResultSet.class);
+ UUID value = UUID.randomUUID();
+ when(resultSet.getObject("native_id")).thenReturn(value);
+ when(resultSet.getObject("text_id")).thenReturn(value.toString());
+
+ assertEquals(value, handler.getNullableResult(resultSet, "native_id"));
+ assertEquals(value, handler.getNullableResult(resultSet, "text_id"));
+ }
+
+ @Test
+ void registersHandlerForGeneratedBaseMapperStatements() {
+ MybatisConfiguration configuration = new MybatisConfiguration();
+ SqlSessionFactory sessionFactory = mock(SqlSessionFactory.class);
+ when(sessionFactory.getConfiguration()).thenReturn(configuration);
+ BeanPostProcessor registrar = DmsMybatisConfig.dmsMybatisConfigurationRegistrar();
+
+ registrar.postProcessAfterInitialization(sessionFactory, "sqlSessionFactoryOne");
+
+ TypeHandler<UUID> registered = configuration.getTypeHandlerRegistry().getTypeHandler(UUID.class);
+ assertInstanceOf(DmsUuidTypeHandler.class, registered);
+ assertTrue(configuration.isMapUnderscoreToCamelCase());
+ }
+}
--
Gitblit v1.8.0