This commit is contained in:
Looly 2021-05-25 11:55:37 +08:00
parent 858a90c8b7
commit 287800eeab
2 changed files with 67 additions and 52 deletions

View File

@ -1,13 +1,5 @@
package cn.hutool.db;
import java.nio.charset.Charset;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.RowId;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.*;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ArrayUtil;
@ -16,6 +8,17 @@ import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.db.sql.SqlUtil;
import java.nio.charset.Charset;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.RowId;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Set;
/**
* 数据实体对象<br>
* 数据实体类充当两个角色<br>
@ -23,12 +26,12 @@ import cn.hutool.db.sql.SqlUtil;
* 2. SQL条件Entity中的每一个字段对应一个条件字段值对应条件的值
*
* @author loolly
*
*/
public class Entity extends Dict {
private static final long serialVersionUID = -1951012511464327448L;
// --------------------------------------------------------------- Static method start
/**
* 创建Entity
*
@ -117,6 +120,7 @@ public class Entity extends Dict {
// --------------------------------------------------------------- Constructor end
// --------------------------------------------------------------- Getters and Setters start
/**
* @return 获得表名
*/
@ -136,7 +140,6 @@ public class Entity extends Dict {
}
/**
*
* @return 字段集合
*/
public Set<String> getFieldNames() {
@ -187,6 +190,7 @@ public class Entity extends Dict {
}
// --------------------------------------------------------------- Getters and Setters end
/**
* 将值对象转换为Entity<br>
* 类名会被当作表名小写第一个字母
@ -235,7 +239,7 @@ public class Entity extends Dict {
result.setFieldNames(this.fieldNames);
for (String key : keys) {
if(this.containsKey(key)) {
if (this.containsKey(key)) {
result.put(key, this.get(key));
}
}

View File

@ -1,10 +1,9 @@
package cn.hutool.db;
import cn.hutool.db.pojo.User;
import org.junit.Assert;
import org.junit.Test;
import cn.hutool.db.pojo.User;
/**
* Entity测试
*
@ -36,6 +35,18 @@ public class EntityTest {
Assert.assertEquals("user", entity.getTableName());
}
@Test
public void parseTest3() {
User user = new User();
user.setName("test");
Entity entity = Entity.create().parseBean(user, false, true);
Assert.assertFalse(entity.containsKey("id"));
Assert.assertEquals("test", entity.getStr("name"));
Assert.assertEquals("user", entity.getTableName());
}
@Test
public void entityToBeanIgnoreCaseTest() {
Entity entity = Entity.create().set("ID", 2).set("NAME", "testName");