mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08:24 +08:00
optimize
This commit is contained in:
parent
9f4eaca0dc
commit
ff55e83f5a
@ -70,4 +70,12 @@ public class FunctionQueryColumn extends QueryColumn {
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "FunctionQueryColumn{" +
|
||||
"fnName='" + fnName + '\'' +
|
||||
", column=" + column +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@ -655,11 +655,7 @@ public class TableInfo {
|
||||
if (columnValue == null) {
|
||||
String name = columnInfoMapping.get(versionColumn).property;
|
||||
Class<?> clazz = metaObject.getSetterType(name);
|
||||
if (clazz.isAssignableFrom(Long.class)) {
|
||||
metaObject.setValue(name, 0L);
|
||||
} else if (clazz.isAssignableFrom(Integer.class)) {
|
||||
metaObject.setValue(name, 0);
|
||||
}
|
||||
metaObject.setValue(name, ConvertUtil.convert(0L, clazz));
|
||||
}
|
||||
}
|
||||
|
||||
@ -701,9 +697,9 @@ public class TableInfo {
|
||||
if (columnValue == null) {
|
||||
String name = columnInfoMapping.get(logicDeleteColumn).property;
|
||||
Class<?> clazz = metaObject.getSetterType(name);
|
||||
if (clazz.isAssignableFrom(Integer.class)) {
|
||||
metaObject.setValue(name, 0);
|
||||
} else if (clazz.isAssignableFrom(Boolean.class)) {
|
||||
if (Number.class.isAssignableFrom(clazz)){
|
||||
metaObject.setValue(name, ConvertUtil.convert(0L, clazz));
|
||||
}else if (clazz == Boolean.class){
|
||||
metaObject.setValue(name, false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,11 +41,34 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.fastjson2</groupId>
|
||||
<artifactId>fastjson2</artifactId>
|
||||
<version>2.0.26</version>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>2.0.28</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.fastjson2</groupId>
|
||||
<artifactId>fastjson2</artifactId>
|
||||
<version>2.0.28</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.10.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.14.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>de.ruedigermoeller</groupId>
|
||||
<artifactId>fst</artifactId>
|
||||
<version>2.57</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
||||
@ -19,16 +19,11 @@ import com.mybatisflex.core.MybatisFlexBootstrap;
|
||||
import com.mybatisflex.core.audit.AuditManager;
|
||||
import com.mybatisflex.core.audit.ConsoleMessageCollector;
|
||||
import com.mybatisflex.core.audit.MessageCollector;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
|
||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import static com.mybatisflex.core.query.QueryMethods.select;
|
||||
import static com.mybatisflex.test.table.Tables.ACCOUNT;
|
||||
|
||||
public class EntityTestStarter {
|
||||
|
||||
public static void main(String[] args) {
|
||||
@ -55,15 +50,16 @@ public class EntityTestStarter {
|
||||
|
||||
// QueryWrapper wrapper = QueryWrapper.create().select(ACCOUNT.DEFAULT_COLUMNS).select(count()).from(ACCOUNT)
|
||||
// .groupBy(ACCOUNT.ID);
|
||||
|
||||
// List<Account> accounts = accountMapper.selectListByQuery(wrapper);
|
||||
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.where(ACCOUNT.ID.in(
|
||||
select(ACCOUNT.ID).from(ACCOUNT)
|
||||
));
|
||||
|
||||
Page<Account> paginate = accountMapper.paginate(new Page<>(1,10),queryWrapper);
|
||||
System.out.println(paginate);
|
||||
//
|
||||
// QueryWrapper queryWrapper = new QueryWrapper();
|
||||
// queryWrapper.where(ACCOUNT.ID.in(
|
||||
// select(ACCOUNT.ID).from(ACCOUNT)
|
||||
// ));
|
||||
//
|
||||
// Page<Account> paginate = accountMapper.paginate(new Page<>(1,10),queryWrapper);
|
||||
// System.out.println(paginate);
|
||||
|
||||
|
||||
// Account account = accountMapper.selectOneById(1);
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
package com.mybatisflex.test;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONReader;
|
||||
import com.alibaba.fastjson2.JSONWriter;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import org.nustaq.serialization.FSTConfiguration;
|
||||
|
||||
import static com.mybatisflex.test.table.Tables.ACCOUNT;
|
||||
|
||||
public class WrapperSerializeTest {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
QueryWrapper wrapper = QueryWrapper.create()
|
||||
.select().from(ACCOUNT)
|
||||
.where(ACCOUNT.ID.eq("michael"))
|
||||
.and(ACCOUNT.AGE.ge(18))
|
||||
.orderBy(ACCOUNT.ID.desc());
|
||||
|
||||
|
||||
byFst(wrapper);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void byFst(QueryWrapper wrapper) {
|
||||
FSTConfiguration fst = FSTConfiguration.createDefaultConfiguration();
|
||||
byte[] bytes = fst.asByteArray(wrapper);
|
||||
QueryWrapper newWrapper = (QueryWrapper) fst.asObject(bytes);
|
||||
System.out.println(newWrapper);
|
||||
}
|
||||
|
||||
|
||||
private static void byFastjson2(QueryWrapper wrapper) {
|
||||
String s = JSON.toJSONString(wrapper, JSONWriter.Feature.FieldBased, JSONWriter.Feature.WriteClassName, JSONWriter.Feature.ReferenceDetection);
|
||||
System.out.println(s);
|
||||
|
||||
QueryWrapper newWrapper = JSON.parseObject(s, QueryWrapper.class, JSONReader.Feature.FieldBased, JSONReader.Feature.SupportAutoType);
|
||||
String s2 = JSON.toJSONString(newWrapper, JSONWriter.Feature.FieldBased, JSONWriter.Feature.WriteClassName, JSONWriter.Feature.ReferenceDetection);
|
||||
System.out.println(s2);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user