|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
|
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
|
|
|
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
@@ -21,7 +22,9 @@ import org.junit.jupiter.api.Assertions;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
|
class MybatisDefaultParameterHandlerTest {
|
|
@@ -44,6 +47,11 @@ class MybatisDefaultParameterHandlerTest {
|
|
|
Model(String name) {
|
|
|
this.name = name;
|
|
|
}
|
|
|
+
|
|
|
+ Model(Long id, String name) {
|
|
|
+ this.id = id;
|
|
|
+ this.name = name;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Test
|
|
@@ -70,26 +78,45 @@ class MybatisDefaultParameterHandlerTest {
|
|
|
setFieldValByName("updateOperator", "逗号", metaObject);
|
|
|
}
|
|
|
});
|
|
|
- Model model = new Model("坦克");
|
|
|
- TableInfoHelper.initTableInfo(new MapperBuilderAssistant(configuration,""), Model.class);
|
|
|
+ Model model1 = new Model("坦克");
|
|
|
+ TableInfoHelper.initTableInfo(new MapperBuilderAssistant(configuration, ""), Model.class);
|
|
|
//查询
|
|
|
mappedStatement = new MappedStatement.Builder(configuration, "***", staticSqlSource, SqlCommandType.SELECT).build();
|
|
|
- MybatisDefaultParameterHandler.processParameter(mappedStatement, model);
|
|
|
- Assertions.assertNull(model.getId());
|
|
|
- Assertions.assertNull(model.getInsertOperator());
|
|
|
- Assertions.assertNull(model.getUpdateOperator());
|
|
|
+ MybatisDefaultParameterHandler.processParameter(mappedStatement, model1);
|
|
|
+ Assertions.assertNull(model1.getId());
|
|
|
+ Assertions.assertNull(model1.getInsertOperator());
|
|
|
+ Assertions.assertNull(model1.getUpdateOperator());
|
|
|
// 普通插入
|
|
|
mappedStatement = new MappedStatement.Builder(configuration, "***", staticSqlSource, SqlCommandType.INSERT).build();
|
|
|
- MybatisDefaultParameterHandler.processParameter(mappedStatement, model);
|
|
|
- Assertions.assertNotNull(model.getId());
|
|
|
- Assertions.assertNotNull(model.getInsertOperator());
|
|
|
- Assertions.assertNull(model.getUpdateOperator());
|
|
|
+ MybatisDefaultParameterHandler.processParameter(mappedStatement, model1);
|
|
|
+ Assertions.assertNotNull(model1.getId());
|
|
|
+ Assertions.assertNotNull(model1.getInsertOperator());
|
|
|
+ Assertions.assertNull(model1.getUpdateOperator());
|
|
|
+ mappedStatement = new MappedStatement.Builder(configuration, "***", staticSqlSource, SqlCommandType.INSERT).build();
|
|
|
+ //map参数
|
|
|
+ Model model2 = new Model("坦克");
|
|
|
+ Map<String, Object> params1 = new HashMap<>();
|
|
|
+ params1.put(Constants.ENTITY, model2);
|
|
|
+ MybatisDefaultParameterHandler.processParameter(mappedStatement, params1);
|
|
|
+ Assertions.assertNotNull(model2.getId());
|
|
|
+ Assertions.assertNotNull(model2.getInsertOperator());
|
|
|
+ Assertions.assertNull(model2.getUpdateOperator());
|
|
|
+ //map参数
|
|
|
+ Model model3 = new Model("坦克");
|
|
|
+ Map<String, Object> params2 = new HashMap<>();
|
|
|
+ params2.put(Constants.ENTITY, new HashMap<String, Object>() {{
|
|
|
+ put(Constants.MP_OPTLOCK_ET_ORIGINAL, model3);
|
|
|
+ }});
|
|
|
+ MybatisDefaultParameterHandler.processParameter(mappedStatement, params2);
|
|
|
+ Assertions.assertNotNull(model3.getId());
|
|
|
+ Assertions.assertNotNull(model3.getInsertOperator());
|
|
|
+ Assertions.assertNull(model3.getUpdateOperator());
|
|
|
//普通更新
|
|
|
+ Model model4 = new Model(1L,"坦克");
|
|
|
mappedStatement = new MappedStatement.Builder(configuration, "***", staticSqlSource, SqlCommandType.UPDATE).build();
|
|
|
- MybatisDefaultParameterHandler.processParameter(mappedStatement, model);
|
|
|
- Assertions.assertNotNull(model.getId());
|
|
|
- Assertions.assertNotNull(model.getInsertOperator());
|
|
|
- Assertions.assertNotNull(model.getUpdateOperator());
|
|
|
+ MybatisDefaultParameterHandler.processParameter(mappedStatement, model4);
|
|
|
+ Assertions.assertNotNull(model4.getId());
|
|
|
+ Assertions.assertNotNull(model4.getUpdateOperator());
|
|
|
//批量插入
|
|
|
List<Model> list = Arrays.asList(new Model("坦克一号"), new Model("坦克二号"));
|
|
|
mappedStatement = new MappedStatement.Builder(configuration, "***", staticSqlSource, SqlCommandType.INSERT).build();
|